Re:Why I want Swift to be your first language
by pmelendez on Thursday August 27, 2015 @03:00PM
(#10131332)
With the exception of "Named parameters, a life sentence." every argument work for a Lisp based language as Racket for instance.
[ Parent
| on HN ]
Re:Why I want Swift to be your first language
by edgyswingset on Thursday August 27, 2015 @03:03PM
(#10131350)
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.
Re:Why I want Swift to be your first language
by coldcode on Thursday August 27, 2015 @04:12PM
(#10131784)
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.
Re:Why I want Swift to be your first language
by pmelendez on Thursday August 27, 2015 @04:33PM
(#10131900)
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.
Re:Why I want Swift to be your first language
by pavelludiq on Thursday August 27, 2015 @03:08PM
(#10131396)
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
Re:Why I want Swift to be your first language
by gorena on Thursday August 27, 2015 @03:57PM
(#10131677)
Strict type system?
Re:Why I want Swift to be your first language
by pmelendez on Thursday August 27, 2015 @04:35PM
(#10131918)
For that exists Typed Racket: http://docs.racket-lang.org/ts-guide/