TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why I want Swift to be your first language

33 点作者 ra88it超过 9 年前

11 条评论

r3bl超过 9 年前
Why I don&#x27;t want Swift to be your first language (from a student&#x27;s point of view):<p>1. Where am I going to test my applications? Not all students have Apple&#x27;s products (I never had any of them). On the other hand, if I use Python, or Java, or C&#x2F;C++, I can test my application wherever I want.<p>2. As far as I know, Swift will be open source (at least, that&#x27;s what Apple said). But Swift is not open source _at the moment_ (please correct me if I&#x27;m wrong).<p>3. Swift is a new language. If I type &quot;Swift tutorial&quot; on Google, and I type &quot;Python tutorial&quot; on Google in a second tab, I&#x27;ll get much more relevant results for much more platforms when I type &quot;Python tutorial&quot;.<p>I don&#x27;t care how good the syntax is. If a programming language is not currently available on like every platform and if I can&#x27;t build my application using whatever I want to use (including a text editor and a compiler), it&#x27;s not a good choice for students no matter what you say.
评论 #10131161 未加载
评论 #10131739 未加载
评论 #10131477 未加载
ThrustVectoring超过 9 年前
The article is missing what I think is the zeroth skill to teach beginning programmers - a love of hacking on things and getting results.<p>It&#x27;s why I think Javascript is the best language to teach beginners. Yes, it&#x27;s an ugly language. Yes, it has significant structural problems. Yes, it will bite you in hilariously difficult to find ways. But that doesn&#x27;t particularly matter compared to teaching them that they can futz around with code and get interesting stuff done.
评论 #10131805 未加载
vvanders超过 9 年前
Lost me when he mentioned that ARC is better to teach than GC.<p>I&#x27;m the least fan of GC as anyone else but needing to have intro students worry about cycles seems like the last thing you want to teach first.
评论 #10131799 未加载
评论 #10131764 未加载
评论 #10131772 未加载
评论 #10140196 未加载
afandian超过 9 年前
The static-void-main-string-args argument is trotted out so often and to me is the most facetious. Every language has some syntax to learn and with any learning process it will need to be handwaved away. Basing any kind of decision on such a trivial thing seems odd to me.
评论 #10131706 未加载
评论 #10131754 未加载
markhahn超过 9 年前
The article was a reasonably persuasive argument for why Python should be your first language. Maybe someone should write &quot;Why I want Swift to be relevant to non-Appleheads&quot;.
评论 #10131540 未加载
评论 #10131742 未加载
pmelendez超过 9 年前
With the exception of &quot;Named parameters, a life sentence.&quot; every argument work for a Lisp based language as Racket for instance.
评论 #10131350 未加载
评论 #10131396 未加载
评论 #10131677 未加载
kwhitefoot超过 9 年前
It doesn&#x27;t look like a particularly radical change from any other so called modern curly bracket language to me. It also doesn&#x27;t seem to have any native multitasking&#x2F;multiprogramming features, at least none were mentioned on the Swift2 summary page. Anyway, what sort of students are we talking about here? If they are physics or engineering students then they will have to learn whichever language that the tools they use needs, if they are CS students then surely the language itself is one of the objects to be studied in which case there ought to be more than one.
评论 #10131511 未加载
wvenable超过 9 年前
Swift is inherently tied to the OS X &#x2F; iOS APIs (just as Objective-C is). It&#x27;s a one platform language and will never be (and never intended to be) a general purpose language for all platforms.
评论 #10131416 未加载
评论 #10131516 未加载
PeterisP超过 9 年前
At this point of time, being cross-platform (at least the 3 of win,mac,linux) is a basic &#x27;hygiene factor&#x27; for programming languages. I mean, even experimental niche tools and hobbyist systems are expected to do that and almost all of them do.<p>I have access to all kinds of systems, but this is not a consumer item, and it <i>should</i> work everywhere; a mac-only requirement is just as unacceptably limiting for general purpose computing as a windows-only requiremet.
mwcampbell超过 9 年前
Swift isn&#x27;t actually open-source yet, is it?<p>Once it is, I think the reasons explained in this article for using Swift as an introductory language make sense.
评论 #10131349 未加载
guelo超过 9 年前
The semicolon thing had me scratching my head. Are people teaching Java without an IDE that shows syntax errors very visibly?
评论 #10131873 未加载