December 30, 2019

Future of Coding Weekly 2019/12 Week 5

Second Future of Coding Community Weekly Newsletter!

Based on feedback and the fact that this is the first issue that covers a week I added more context, I tried to differentiate it from my text with styling, you can skip it if it feels too much. I don't know how it will look like in email clients because the editor tinyletter uses doesn't give me the same style as the final format and the "Send Preview" functionality doesn't work for me.

There's something here about immediate feedback, direct manipulation and being limited by bad tools but I'm not sure what it is ;)

From our Community

Edward de Jong shared Beads vs. Python

In this short language comparison study we take an existing Python program that draws a blinking tree, and rewrite it in Beads.

Shalabh Chaturvedi wrote a blog post On Composition

Where does duplication arise in systems? Is it even a problem?

In this essay I look at the various methods of composition, reuse and duplication in our systems.

Our composition models don't scale and we're pushing them to the limits.

Stefan Lesser published a new article on his "Beyond Code" blog series (which starts here). He talks about his vision for "A Future of Programming" by presenting and discussing some "principles" that are important to him.

There are so many directions to explore to democratize programming. It's useful to be opinionated, make some choices upfront, and shrink the solution space a bit. You might disagree with my choices here, and that's ok. [...] That doesn't mean other directions are wrong or less promising, this is just the direction I am headed.

Read these principles as “one is more valuable than the other” — both sides have value

Zubair Quraishi introduced himself and his project Yazz Pilot - Self Service apps without the IT department

I have been working on Pilot on and off for many years now. The tool is supposed to be a Visual basic style drag and drop GUI builder for enterprise apps. the interesting part of the backstory is that this is my 7th attempt to build this!

Those who do not learn history are doomed to reimplement it, poorly

A Slice Through the History of Programming Languages by Gilad Bracha

This video takes a historical perspective from Fortran to APL to Functional Programming, asking why we build programming languages and showing how history can inform future designs.

Talking about APL

An autobiographical essay - Kenneth E. Iverson

I was appalled to find that the mathematical notation on which I had been raised failed to fill the needs of the courses I was assigned, and I began work on extensions to notation that might serve. In particular, I adopted the matrix algebra used in my thesis work, the systematic use of matrices and higher-dimensional arrays (almost) learned in a course in Tensor Analysis rashly taken in my third year at Queen’s, and (eventually) the notion of Operators in the sense introduced by Heaviside in his treatment of Maxwell’s equations.

In my “A Personal View of APL” [17] I said: ... the initial motive for developing APL was to provide a tool for writing and teaching. Although APL has been exploited mostly in commercial programming, I continue to believe that its most important use remains to be exploited: as a simple, precise, executable notation for the teaching of a wide range of subjects.

The view which we shall explore is that mathematics is the language of size, shape and order and that is an essential part of the equipment of an intelligent citizen to understand this language. If the rules of Mathematics are the rules of grammar, there is no stupidity involved when we fail to see that a mathematical truth is obvious. The rules of ordinary grammar are not obvious. They have to be learned. They are not eternal truths. They are conveniences without whose aid truths about the sorts of things in the world cannot be communicated from one person to another.

Gilard's talk also mentions the work from Justin Slepak which lists two papers that look really interesting but haven't read yet: Rank Polymorphism Viewed as a Constraint Problem and An array-oriented language with static rank polymorphism

The future is already here — it's just not evenly distributed

PyPy 7.3.0 released a Python interpreter implemented in Python that's 4.4 times faster than standard CPython

nbdev: use Jupyter Notebooks for everything

nbdev allows you to create complete python packages, including tests and a rich documentation system, all in Jupyter Notebooks. We’ve already written a large programming library (fastai v2) using nbdev, as well as a range of smaller projects.

Nbdev is a system for something that we call exploratory programming. Exploratory programming is based on the observation that most of us spend most of our time as coders exploring and experimenting.

btw, nbdev is itself written in nbdev


Contributors: marianoguerra, ogadaki

Not a member yet? check the Future of Coding Community

Want to contribute? Check https://github.com/marianoguerra/future-of-coding-weekly for instructions, have a productive week!