
Languages to improve your Python - sebg
http://www.curiousefficiency.org/posts/2015/10/languages-to-improve-your-python.html
======
baldfat
I am a self-taught programmer/hacker and the best thing I ever learned was
Racket. [http://racket-lang.org/](http://racket-lang.org/)

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...](https://www.youtube.com/user/afigfigueira/playlists?shelf_id=6&sort=dd&view=50)

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/...](http://www.amazon.com/Realm-Racket-Learn-Program-Game-
ebook/dp/B00DHRV584/ref=mt_kindle?_encoding=UTF8&me=)

If that is too simple there always is [http://www.amazon.com/How-Design-
Programs-Introduction-Progr...](http://www.amazon.com/How-Design-Programs-
Introduction-
Programming/dp/0262062186/ref=la_B000AQ3UQU_1_4?s=books&ie=UTF8&qid=1444664197&sr=1-4)

I prefer seeing people code and talk about it so the videos are great.

~~~
cponeill
I took this course last year and loved it. As a self taught developer as well,
these videos really helped me understand some concepts that I still hadn't
wrapped my head around yet.

------
pmoriarty
They missed Scheme, one of the most elegant and powerful languages in
existence.

~~~
agentultra
But they did mention Hy, a lisp dialect written in Python. I find this hy-
larious.

It certainly is one way to learn Python better as you'll be working,
indirectly, in its abstract syntax tree. You can do this in plain Python but
the _ast_ module is woefully under-documented and rarely used.

~~~
TeMPOraL
I think they chose Hy over other Lisps because of closer Python interop. After
all, the post is aimed towards Python programmers.

------
patrickmay
SQL is missing from their list. A solid understanding of its capabilities is
important. Developers should know when to use it and when not to.

~~~
baldfat
BUT SQL is so old /sarcasm. It drives me nuts when people who should know
better can't just jump on notepad and write a simple query in SQL. They spend
half an hour looking how to do what a basic 101 SQL code could solve in 30
seconds.

------
Bostonian
In the section "Array-oriented data processing", Fortran should be included.
Fortran 95 (and the earlier Fortran 90) has array operations, and Fortran 2003
supports object-oriented programming. The gfortran compiler, which is part of
gcc, implements all of Fortran 95 and almost all of Fortran 2003.

Fortran is also one the primary languages in which statistical algorithms have
been coded.

------
radiowave
Interactive programming environment: Smalltalk

------
dwenzek
I like the call to tribal pride to build a better language and more
constructive community.

I like too the fair descriptions of the major Python's alternative programming
approaches and languages, even if this list is incomplete.

------
netcraft
another one for the gradual typing would be core.typed
[https://github.com/clojure/core.typed](https://github.com/clojure/core.typed)

------
ised
I once read that Python, like Pascal, was intended to be a "teaching
language".

Is this true?

~~~
maxerickson
No. It was heavily influenced by one though:

[http://python-history.blogspot.com/2009/01/personal-
history-...](http://python-history.blogspot.com/2009/01/personal-history-
part-1-cwi.html)

