
How more productive did you get due to a change of programming language? - forkLding
I often hear companies or projects change programming languages due to it being more productive. Just wondering how exactly were you able to monitor for this and how you could guide the adoption of a new programming language to be productive for the whole team or company.
======
oldandtired
In my uni days, I was introduced to a variety of languages, from Fortran to
LISP, Pascal to COBOL, PDP-10 Assembly to SIMULA.

In one case (in a production environment), I built a system using Turbo-Pascal
in about 8 weeks and then came across Icon (Griswold). From getting the Icon
system to rebuilding the Turbo-Pascal system in Icon was a total of three
days. One of the problems that was encountered in the Turbo-Pascal system was
a continual change in the input data being supplied. With Icon and its string
matching facilities, that problem disappeared. Ease of use, language
facilities provided and high level data structures, etc, have been the
important features of Icon and later UnIcon.

In many of the varying jobs that I have undertaken over the decades since, my
go to language has been Icon and since about 2000, UnIcon (Jeffery). Though it
has some missing facilities (like lambda functions), it has many facilities
that make many of the programming tasks I have had to deal with much simpler
than many other languages.

If I have not been able to use Icon/UnIcon, then I have programmed in the
available languages in as close a methodology to Icon/UnIcon as possible,
which usually means building the various string scanning functions of
Icon/UnIcon as I can and using them accordingly.

I have considered one of the Icon/UnIcon language features to be the most
outstanding of all I have come across and that is "Failure is an option". I
have yet to see other languages take this up to anywhere near what Icon/UnIcon
normally supplies.

When you can write something like

if 0 <= x <= 10 then {....}

to mean that when x is between 0 and 10 inclusive do something

or even something like

if 0 <= (x | y) <= 10 then {.....}

when x or y is between 0 and 10 inclusive do something

you know you've got something to work with.

------
Davidbrcz
time taken 6o developp a feature, number of people required to do so, memory
consumption and hardware needed, but also number of bugs found in production,
feedback from dev,...

