Skip to content

Comment on Why I want Swift to be your first language

Comments

With the exception of "Named parameters, a life sentence." every argument work for a Lisp based language as Racket for instance.

I'd also argue that a super simple language like Scheme (or stripped-down Racket) would be pretty close to ideal for a pure intro class.

Introductions should be about learning how to reason about abstractions, and how to transform problem-solving from what's going on in your head into code. When you start out with something so rigid like C or Java you really confine a student's ability to reason about a problem because there's so much syntax to keep track of.

A Lisp-like language will only help you if you stay in the lisp world. A C-like will help you with most of the world's current languages in the Tiobe list.

That's so not true in my opinion. There is a whole generation that was raised with Scheme as first language (and SICP ), I am particularly grateful that I was part of that and today I program (or had programmed) in most of the top languages in the Tiobe list as you say.

Both Common Lisp and Racket have keyword arguments, and even Clojure kind of has them(it cheats by using map destructuring). Common Lisps in particular are very powerful and flexible, see http://www.gigamonkeys.com/book/functions.html

Strict type system?

For that exists Typed Racket: http://docs.racket-lang.org/ts-guide/

Ooh fun!

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.