Swift (iOS) and Kotlin (Android), being specialty languages for the mobile space, were further down the list. Swift came in at #18, but Kotlin disappointed, coming in at #45. Nevertheless, as iOS and Android users grow, the popularity of Swift and Kotlin will likely follow.
The name Swift is easy to fathom. The language speeds up iOS development (compared to using Objective C), and it also runs respectably fast. The Kotlin designation is rather opaque, but being a derivative of Java, Kotlin was named after an island near St. Petersburg under the mistaken assumption that Java was also named after an island, a…
My first job had me programming in Microsoft BASIC for the IBM PC (DOS). BASIC worked well enough, but its limitations were clear. The language was interpreted and therefore slow. More importantly, it wasn't a modern structured language, and instead, relied on line numbers and the GOTO statement. Anyone who has read Dijkstra knew GOTO was a bad thing.
Having learned a structured language in college (PL/I), using BASIC felt unnatural. When a C compiler became available for the PC, I saw a chance to improve and modernize our software. The problem was selling the idea -- a problem made harder because I wasn't fluent in C.
"It would be a staffing problem. Not many people know C, but we can find a lot of programmers who know BASIC," noted one manager.
The argument was strong as my knowledge of C was weak. But I knew that C, by design, was a small language and thus easy to learn. "It has about 30 keywords," I proffered to another manager.
a) return the carton to where you found it in the fridge
b) return the carton to any free space in the fridge
c) leave the carton on the kitchen table
It doesn't matter that you know how to reverse a linked list; any answer other than "a" suggests you aren't a very good programmer.
Details matter, and symmetry helps you manage them. Return the milk to where you found it. Close files you have opened. Free memory you have allocated.
During a talk about Java, memory management, and garbage collection, one speaker (I can't recall his name) explained why Java wouldn't be suitable for embedded systems. Feigning a heart attack, he clutched his chest and collapsed onto the podium. Moments later, he raised his hand, saying "I'm okay, I'm okay. It's just my pacemaker doing garbage collection."
C has no such limitation, and simply stated, for every malloc(), there should be a free(). There are situations though, tha…