https://www.amazon.com/How-Design-Programs-Introduction-Prog...
Here is what got me off the ground. The first unit is learning ML and the second unit was Racket. https://www.youtube.com/user/afigfigueira/playlists?shelf_id...
This is from a Coursera Course that is not being offered right now. It covers a lot of different languages but the Racket and ML parts are a great starting point.
I liked this book - http://www.amazon.com/Realm-Racket-Learn-Program-Game-ebook/...
If that is too simple there always is http://www.amazon.com/How-Design-Programs-Introduction-Progr...
I prefer seeing people code and talk about it so the videos are great.
Ruby and Python are now too good at doing webby stuff in that there are not enough Ruby devs to meet the demand of companies without skyrocketing salaries. It is easy to hire good Ruby devs, provided you have $400k to spend per year, but that isn't your real question.
Your real question is what languages will people really, really want to work for my company to use because nobody else is using them. I can only think of a couple: Common Lisp, Closure, Scheme, Smalltalk. There are others that are happy-fun languages but not necessarily I love you languages that few startups are using: Scala, server side CoffeeScript, Io, F#.
But the problem you run into there is that many of these languages don't have as many webby aspects to them which is why fewer startups use them in the first place.
I'd probably recommend Scheme because it has the best book of all time: http://www.amazon.com/How-Design-Programs-Introduction-Progr... That book can teach anyone how to code Scheme. Although all the languages I listed are awesome.
https://www.edx.org/course/how-to-code-simple-data
https://www.edx.org/course/how-to-code-complex-data
* The From Nand to Teris project, The Elements of Computing Systems: Building a Modern Computer from First Principles book, and/or Coursera course. Builds a hardware stack for a CPU and then a software stack (assembler, VM, high-level language).
https://www.nand2tetris.org/
https://www.coursera.org/learn/build-a-computer
https://www.coursera.org/learn/nand2tetris2
https://www.amazon.com/Elements-Computing-Systems-second-Pri...
* The How to Design Programs book. What the edX course above is based upon.
https://htdp.org/
https://www.amazon.com/How-Design-Programs-Introduction-Prog...
* Structure and Interpretation of Computer Programs (SICP). Uses Scheme. One can use Racket with the `#lang sicp` language.
https://mitpress.mit.edu/sites/default/files/sicp/index.html
https://www.amazon.com/Structure-Interpretation-Computer-Pro...
YouTube playlist of the course by the authors: https://youtube.com/playlist?list=PLE18841CABEA24090
* Thinking as Computation: A First Course. Uses Prolog to solve problems of thinking.
https://www.amazon.com/Thinking-Computation-First-Course-Pre...
https://www.cs.toronto.edu/~hector/PublicTCSlides.pdf
* Turtle Geometry: The Computer as a Medium for Exploring Mathematics (shares an author with SICP). Uses Logo to explore turtle geometry/graphics. Can use any modern Logo implementation.
https://www.amazon.com/Turtle-Geometry-Mathematics-Artificia...
https://direct.mit.edu/books/book/4663/Turtle-GeometryThe-Co...
* Starting Forth. Uses Forth.
https://www.forth.com/starting-forth/
https://www.amazon.com/Starting-Forth-Leo-Brodie-ebook/dp/B0...
* Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction and also The Nature of Code: Simulating Natural Systems with Processing. Uses Processing and p5.js (the JavaScript version of Processing).
http://learningprocessing.com/
https://natureofcode.com/
https://www.amazon.com/Learning-Processing-Beginners-Program...
https://www.amazon.com/Nature-Code-Simulating-Natural-Proces...
The author's YouTube channel: https://youtube.com/c/TheCodingTrain
https://processing.org/