學習編程語言最好的方法是什麼?
最近在學Python,當初學習Java時就覺得這門語言費勁,OOP的概念確實表現得很好,可是打字多呀,當時就特希望有個更加符合自然語言的編程語言。現在覺得Python就是我想要的其實,可是就是特別難看下去噢。
我也知道最好的方法也許是做個Project試試,那大牛都是如何尋找合適的Project來學習一門新的語言呢?-------------------------------------------------------------------------上邊是我一年前回答的問題,非常感謝大家的答案。一年後開始對編程語言有新的感悟了,儘管還是很Naive。 Python可能也並沒有我當時想像中的那樣好,很多時候覺得比較慢,特別是dict,也不是很structure。 Java的話,選擇好的工具,IntelliJ基本解決打字多的問題。哈哈。所有的問題,回到原點就大約可以在演算法中尋到原型。靜下心來不斷學習吧。
2017年10月22日更新
今天答主給編程和硬體愛好者們帶來一些開拓視野,結交極客,體驗創造樂趣,以及擴展人脈的活動。
這裡是部分北美高校最火爆的Hackathon ( 黑卡馬拉松 )。部分活動提供 國際簽證邀請信 以及國際機票報銷。部分學校提供接待學生,安排在本校宿舍住宿。( 答主之前參加了麻省理工的活動,住在了學校宿舍,有吃有喝,好棒! )。全球頂級的Hackathon是工程和科技專業本科生非常值得留下的大學回憶 (谷歌,臉書,亞馬遜,微軟等公司都來開講座哦!)。
正在舉辦
- hacktech, Mar 2018, California Institute of Technologies 加州理工大學
- hackillinois, Feb 23 - 25, 2018, University of Illinois 伊利諾伊香檳分校
- vthacks, Feb 2018, Virginia Tech 弗吉尼亞理工
- TreeHack, Feb 16 - 18, 2018, Stanford 斯坦福
- hack@brown, Feb 3-4, 2018, Brown 布朗大學
- Hack@WPI, Jan 12 - 14, Worcester Polytechnic Institute 伍斯特理工 ( 歡迎來我校玩哦 )
- boilermake, Jan 20 - 22, 2017, Purdue 普度大學
申請關閉或已經結束
- (Application Closed申請關閉) hacktx, Oct 28 - 29 2017, University of Texas Austin 德州奧斯汀
- (Ended已結束) hackgt, Oct 13 - 15, 2017, Georgia Institute of Technology 喬治亞理工
- (Ended已結束) calhacks, Oct 6 -8, 2017, University of California--Berkeley 加州伯克利
- (Ended已結束) MHacks, Sept 22 - 24, 2017, University of Michigan North Campus 密歇根安娜堡
- (Ended已結束) HackMIT, Sept 16 - 17, 2017, MIT 麻省理工 ( 我來了這個!百度居然是贊助商,每項百度獎給一萬美金現金!)
- (Ended已結束) hophacks, Sept 15 - 17, 2017, John Hopkins 約翰霍普金斯
- (Ended已結束) bigredhacks, Sept 15 - 17, 2017, Cornell 康奈爾
- (Ended已結束) HackCMU, Sept 8 - 9, 2017, CMU 卡內基梅隆
- (Ended已結束) pennapps, Sept 8 - 10, 2017, University of Pennsylvania 賓夕法尼亞
這是我的Github ( byliuyang/CollegeHacks ), 後續會更新更多的活動,喜歡的朋友記得給我一些小星星哦!
2017年10月22日更新
Alpha Go Zero 論文
Artificial intelligence research has made rapid progress in a wide variety of domains from speech recognition and image classification to genomics and drug discovery. In many cases, these are specialist systems that leverage enormous amounts of human expertise and data.
However, for some problems this human knowledge may be too expensive, too unreliable or simply unavailable. As a result, a long-standing ambition of AI research is to bypass this step, creating algorithms that achieve superhuman performance in the most challenging domains with no human input. In our most recent paper, published in the journal Nature, we demonstrate a significant step towards this goal.
2017年10月22日更新
PS: 我剛剛和小夥伴報名了Udacity的《自動駕駛汽車入門》課程,感興趣的朋友可以看看,還有18天開課 (我可憐的800刀就這麼給網課了)
1)Bayesian Thinking 貝葉斯思維
Learn the framework that underlies a self-driving car』s understanding of itself and the world around it, and to see the world the way a self-driving car does.
2) Working with Matrices 矩陣運算
This course will focus on two tools which are vital to self-driving car engineers: object oriented programming and linear algebra.
3) C++ Basics C++入門
This course is the first step in a rewarding journey towards C++ expertise. The goal is translation: get a program written in Python, and translate it into C++.
4) Performance Programming in C++ C++性能優化
Explore how to write good code that runs correctly. We』ll focus primarily on low level features of C++, but we』ll discuss other best practices as well.
5) Navigating Complex Data Structures 高級數據結構
Algorithmic thinking is a skill you』ll refine throughout your career. In this course you』ll focus on frequently used data structures and algorithms.
6) Visualizing Calculus and Controls 微積分
In this course you』ll learn basic calculus—the mathematics of continuity. You』ll also learn to use some of Python』s most popular visualization libraries.
7) Machine Learning and Computer Vision 機器學習與計算機視覺
In this course you』ll learn how a computer sees an image, and how we can use machine learning to teach a computer to identify images programmatically.
一年沒更新了,看到大家的評論,感覺心裡暖暖噠!
剛放假,今天給大家更新一點乾貨。
1) 關於查看境外網站的方法,請大家自行解決,答主肉身翻牆,愛莫能助。
答主希望大家抱著學習提高的心態,訪問境外網站。
2) 答主目前讀大三,回答里不當或錯誤的信息,還希望大家包容指正。
2016年12月21日更新
1)增加python書籍合集
2)增加演算法經典
3)增加前端經典,包括angular 2, react,js高進進階
4)增加網路安全經典
5)增加 iOS 設計模式經典,iOS實戰完全instagram克隆網課(力薦)
6)增加遊戲人工智慧設計經典
7)增加 C語言寶書
8)增加 Java 入門與進階經典
9)增加 Ruby on rails進階經典
10)增加計算機圖形和 OpenGL經典
11)增加編譯器設計進階經典
12)增加機器學習進階論文,包括谷歌Deep Mind官方Alpha Go設計與解析
13) 增加Docker入門與進階
14)增加演算法面試經典
15)增加 python 和 機器學習入門與進階視頻合集(我本科學長做的,目前B站播放量1.3 W, 粉絲過700)
鑒於題主諮詢了Python,這裡把答主喜愛的python資料合金置頂
Learn Python the easy way !
Python經典免費資料合集
Intro to Computer Science
Design of Computer Programs
Developing Scalable Apps in Python
Intro to Data Analysis
Intro to Data Science
Full Stack Foundations
Intro to Relational Databases
Programming Foundations with Python
Software Debugging
Authentication Authorization: OAuth
Programming Languages
Intro to Machine Learning
學編程重要的是要攻克英文,英文是開啟另一個世界的鑰匙。
自學攻克英文的方法:
消滅單詞:易唄網 - 背單詞、學英語、小語種、詩詞、百科、考試題
攻克聽力:
iTunes上有好多連續更新的廣播,多聽科技類廣播非常有幫助,既能提高聽力,又能學到專業知識
1)科學美國人,60秒技術新聞聽力:60-Second Tech
2)Technology Translated,虛擬現實、A/B測試都有講
攻克閱讀:讀下面的書就好了。
寫作,擼代碼寫注釋練習吧。
自學才是最好的方法,自學的同時,我推薦以下網站和資料(作者給了非常酷的項目做練習):
1)Codecademy
2) http://Udemy.com
IOS: The Complete iOS 9 Developer Course
iOS克隆完整的Instagram,近乎完美的UI,完整的後端。
Web全棧:
UI設計:
Sketch 3 - New Guide To iOS 8 Mobile App Design (2015)
3) http://Udacity.com 谷歌自動駕駛車創始人的在線培訓課
Google Official Android:
[答主已刷完]Android Development for Beginners
[答主已刷完]Developing Android Apps
[答主已刷完]Advanced Android App Development
Android Performance
Material Design for Android Developers
Android Auto Development
Add Google Sign-In to your Android Apps
Firebase Essentials For Android
Add Google Maps to your Android App
Google Location Services on Android
Gradle for Android and Java
機器學習:
[答主正在刷]Intro to Machine Learning(谷歌自動駕駛氣車創始人親授)
Deep Learning(谷歌人工智慧首席科學家)
Data Visualization and D3.js
Data Analysis with R (Facebook數據科學家)
Web:
Full Stack Foundations
Designing RESTful APIsAuthentication Authorization: OAuth
Configuring Linux Web Servers
[答主正在刷]to Use Git and GitHub
Learn Backbone.js
HTML5 Canvas
Mobile Web Development
[答主正在刷]HTML5 Game Development
Responsive Web Design Fundamentals
Python:
Developing Scalable Apps in Python
PROJECT P4: Design a Game API
Java:
Developing Scalable Apps in Java
瀏覽器(開發自己的瀏覽器,實現HTML,CSS, JS解析渲染)
Programming Languages
4)http://coursera.org 普林斯頓演算法,斯坦福機器學習
[答主已刷完一半]普林斯頓詳細講解了每一個演算法細節,所有的演算法全都給出完整的Java代碼,非常適合初學者打基礎。
5)書籍其他資料:
Javascript
[答主已讀完]Eloquent JavaScript(用JS做編程語言,做超級馬里奧,模擬生態系統,畫布畫圖,實現簡易express框架和angularjs框架),
生態系統
編程語言
類似GBA遊戲
[答主已刷完]Facebook ReactWeb pack:SurviveJS,
Javascript Garden,
[答主已刷完]AngualrJs: Ng-book2 Angular 2 完整教程,從UI、測試、架構全都包含,非常全面和專業,堪稱經典。
進銷存
Gmail Hangout.
克隆Youtube搜索
克隆pinterest
[Full stack react] React 完整教程,從UI、測試、架構全都包含,包括高級redux。
網站後端:
[答主已刷完]Ruby on Rails Tutorial(講解非常透徹,作者是2011年ruby hero,全球限量5位,Twitter克隆)
圖中的Social network指的Twitter。
Ruby metaprogramming,
Agile Web Development with rails 5
The rails 5 way,業界經典,高級進階資料,被作為reference
SQL School,
SQLZOO,
[資料庫大而全的經典之作]:Database management system the complete book,
[答主正在刷]人工智慧:Artificial Intelligence Modern Approach 3rd edition
[答主正在刷]操作系統:Operating System Modern Approach 4th edition
[答主正在刷]網路編程: Computer Network a top-down approach
[答主正在刷]彙編與底層:Computer system a programmer"s perspective
------------------------------------------------------------
答主初中是做C#入宅的,所以也推薦一些微軟開發資料
微軟官方C#教材
Microsoft Visual C# Step by Step, 8th Edition
----------------------------------------
對PHP感興趣的:
[答主掃過幾眼]
Symfony3,The book
http://symfony.com/pdf/Symfony_book_3.0.pdf?v=4
知名的以下框架基於PHP Symfony3
----------------------------------------
對C感興趣的,推薦
[答主的教授推薦]
The C Programming Language 2nd Edition
Expert C programming
-----------------------------
對編譯器感興趣的
[答主的下學期的課本]
compilers principles techniques and tools
Modern Compiler Implementation in C
Modern Compiler Implementation in Java
Advanced Compiler Design and Implementation
-----------------------------------
Computer Graphics 計算機圖形
[答主看了部分章節] The OpenGL Programming Guide
[答主看了部分章節] Interactive Computer Graphics, OpenGL版本
[答主看了部分章節] Interactive Computer Graphics, WebGL版本
---------------------------------------
網路安全
Security in Computing
----------------------
Java入門進階
普林斯頓Java核心
Effective java
---------------------------------------------
人工智慧
Programming Game AI by example
--------------------
演算法
Algorithm Design
[谷歌郵件列表裡推薦過來的] The Algorithm Design Mannul
---------------------
iOS 進階
--------------------
Docker入門進階
-----------
計算機科學入門進階
---------------
Javascript
JSbooks - Free Javascript Ebooks
You don"t know JS
The Introduction to reactive programming you have been missing
-------------------------------------------
內核開發
[答主的正在刷]
Linux Kernel Development Third Edition
http://moodle2.insa-lyon.fr/pluginfile.php/16715/course/section/4469/Linux%20Kernel%20Development%203rd%20Edition%20-%20Love%20-%202010.pdf
----------------------------------------------------------------------------------------------------------
機器學習合集
Alpha Go設計與分析
以下資料引用自 Google Technical Guide,筆者非常喜歡
https://www.google.com/about/careers/students/guide-to-technical-development.html
------------------------------------------------------------------------------------------------
Take an 「Introduction to CS」 courseFocus on basic coding instructions
Online resources:
- Udacity - Introduction to Computer Science
- Coursera - Computer Science 101
Code in (at least) ONE object-oriented programming language (C++, Java?, Python?)Beginner online resources:
- Coursera - Learn to Program: The Fundamentals
- MIT Intro to Programming in Java
- Google"s Python Class
- Coursera - Introduction to Python, Python Open Source E-Book
Intermediate online resources:
- Udacity"s Design of Computer Programs
- Coursera - Learn to Program: Crafting Quality Code, Coursera - Programming Languages
- Brown University - Introduction to Programming Language
Learn other programming languagesAdd to your repertoire:
- [答主做過]JavaScript?
- [答主做過]CSS HTML
- [答主做過]Ruby?
- [答主做過]PHP?
- [答主做過]C?
- Perl?
- [答主做過]Shell? script
- Lisp?
- [答主做過]Scheme?
Online resources:
- Codecademy
- Udacity - Mobile Web Development
- Udacity - HTML5 Game Development
Test your codeLearn how to catch bugs, create tests, and break your software
Online resources:
- Udacity - Software Testing Methods
- Udacity - Software Debugging
Develop logical reasoning and knowledge of discrete mathOnline resources:
- MIT Mathematics for Computer Science
- Coursera - Introduction to Logic
- Coursera - Linear and Discrete Optimization
- Coursera - Probabilistic Graphical Models
- Coursera - Game Theory
Develop a strong understanding of algorithms and data structuresLearn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structures (binary search trees, red-black trees, hash tables), and Big O.
Online resources:
- MIT Introduction to Algorithms
- Coursera - Introduction to Algorithms Part 1 Part 2
- Coursera - List of Algorithms
- Coursera - List of Data Structures
- Coursera - Book:The Algorithm Design Manual
Develop a strong knowledge of operating systemsOnline resources:
UC Berkeley Computer Science 162
Learn UX designOnline resources:
Udacity - UX Design for Mobile Developers
Learn artificial intelligenceOnline resources:
- Stanford University - Introduction to Robotics
- Stanford University - Natural Language Processing
- Stanford University - Machine Learning
Learn how to build compilersOnline resources:
Coursera - Compilers
Learn cryptographyOnline resources:
- Coursera - Cryptography
- Udacity - Applied Cryptography
Learn parallel programmingOnline Resources:
Coursera - Heterogeneous Parallel Programming
Work on projects outside of the classroomCreate and maintain a website, build your own server, or build a robot
Online resources:
- Apache List of Projects
- Google Summer of Code
- Google Developer Group
Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debugGitHub is a great way to read other people』s code or contribute to a project
Online resources:
- GitHub?
- Kiln?
Work on projects with other programmersThis will help you improve your ability to work well in a team and enable you to learn from others.Practice your algorithmic knowledge and coding skillsPractice your algorithmic knowledge through coding competitions like CodeJam or ACM』s International Collegiate Programming Contest.
Online resources:
- CodeJam
- ACM ICPC
Become a teaching assistantHelping to teach other students will help enhance your knowledge in the subject matter.Gain internship experience in software engineeringIn the U.S., internships take place during summer (May–September). Applications are usually accepted several months in advance.
-------------------------------------------
著急做開發的朋友,可以試試LiveCode。能做IOS,android,windows phone,linux,web,windows,mac應用程序,目前正在增加微信朋友圈應用開發環境。
快速掌握一個語言最常用的50% by 孟岩
Miguel de Icaza大大在訪談里說:我了解到C#這門新語言覺得不錯,所以為了充分學習它,我寫了個C#編譯器?
&<- 這就是Mono項目的起源。Evan Phoenix大大在訪談里說:我在做項目的時候學習Ruby覺得很有趣,於是我鼓搗鼓搗弄出了一個Ruby解釋器?
&<- 這是Rubinus項目的起源。還有好多類似的。
有些別的大大每學一門新語言就會找個熟手的東西實現一下。例如有人喜歡寫打飛機遊戲。我是喜歡在學新語言的時候寫編譯器的那類,結果不慎讓寫編譯器變成了自己的職業?(逃看它的 Reduction rule 和 Typing rule,這個是最快的……
即時反饋效果越明顯,效果越好。
所以我一直推薦學習編程畫畫。
javascript有很多畫畫庫,從那裡開始入門學習效果最好學編程,就要弄清楚我想學這門語言做什麼,如果想學怎麼開發軟體,就給自己寫個軟體,比如日常收支管理,地址簿管理。比如你想學PYTHON,那你就嘗試著用python來開發,哪裡不懂就翻看相關的教材資料,如果教材沒有就上網找。軟體開發出來了,自然懂得70%以上了;如果你學python是為了寫伺服器管理的腳本,那就嘗試著也用python寫腳本在linux的伺服器上運行,比如監控伺服器狀態,磁碟空間,線程列表之類的。總之,學編程一定要學以致用,否則就是屠龍術了。
用Scratch!用了這個軟體才知道編程是什麼!繼而知道如何學習了!我只講一個例子。這幾天在家閑著,在網易公開課看了讓我們教孩子編碼吧 。我馬上去下載了Scratch這個東西。家裡有個剛剛小學畢業的弟弟。我打開這個軟體的例子,教他如何讀這個圖形化的程序並且把那些模塊拖出來自己試試。一會兒,他馬上理解了。過了幾天,給他買了一本Scratch的書籍,他立馬對著書籍的例子一個一個嘗試,嘗試完成以後已經可以解決問題了。通過這個Scartch的學習,他告訴我,這比他在4399玩遊戲還爽(他不玩騰訊的遊戲,難道因為我黑過騰訊?掩面啊!)。現在,他知道腳本有什麼用,動畫是如何製作出來的,簡單的計算機繪圖,計算機的基本語句知識等等。最最重要的是他知道了編程是一種行為,解決問題才是關鍵!他告訴我,他喜歡編程,讓計算機聽自己的話太尼瑪爽了!而且,自己可以做魔幻肥皂劇耶!我自己當初學C語言是為了折騰單片機,後來我又想做遊戲了。我是從遊戲策劃學起的。為了迅速製作遊戲,一開始就是折騰的UDK,CE3這種東西,除了可以按照教程裡面的方法折騰幾個類似的DEMO,我還是不知道遊戲是怎麼做的。後來才知道,我不知道遊戲軟體也是是軟體啊!最近幾個月才重新開始學習編程什麼的,而這個Scratch真是給我非常棒的感覺啊!千萬不要認為是小孩子玩的東西,而拒絕了解,這個東西充分的讓自己明白,你想做的是什麼!我在使用C的時候就經常不知道如何下手,沒例子就會死的那種,完全沒有那種使用編程來解決問題的思維能力。最後,當你在想製造高大上的玩意兒的時候你會發現這個Scratch還是有點不夠用啊。我想這時候你就知道如何編程了吧。經驗之談,歡迎拍磚!
最近讀了一篇文章,關於一本牛書
Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers): Andy Hunt: 9781934356050: Amazon.com: BooksPragmatic Thinking and Learning (豆瓣)據說翻譯過來叫做&<&<程序猿的思維修鍊&>&>(怎麼聽著像演員的自我修養...)只是大致看了看,並非詳細讀過,但看起來還不錯,希望這本書能幫助你現在來回答你的問題:
1.關於Python,這是個很牛的語言,作為一名菜鳥程序猿,我只是耳聞過,稍微讀過一些關於Python的東西,而且最讓我震驚的莫過於其創立人,Guido van Rossum(據說當年他去Google的時候簡歷上只有3個字,I wrote Python,霸氣側漏有木有)一代宗師2.學習編程語言.抱歉我也只是一個入門的程序猿,現在主攻C和C++(難道不比Java的字多麼....)於我而言,並沒有什麼特別棒的方法,只有一遍遍的寫和思考,雖然@於魯的話有些誇張,但是真的站得住腳,對大部分程序猿來說,寫程序是一門技術,而技術的習得就不得不將練習做為基礎,所以多寫是必需的.思考在你寫的過程中也相當必要,很多時候我讀到某本書上的代碼,看起來是那麼回事,自己寫起來卻完全不一樣,而這時候,思考會讓你走得更遠.3.找適合自己的Project.這個的確是個難點,我的經驗是,找本好的教材,先跟著走,課後的題會是很好的練習(&<&找個產品經理,不斷提需求。你來實現。
從你的生活需求出發。或者找那些有想法但是不會編程的人合作。這樣的人有很多:我有一些想法,但不會開發APP,我希望有人可以開發一個APP,專門搜集一些別人的想法創意意見的APP,現實嗎? - iOS。我也知道最好的方法也許是做個Project試試,那大牛都是如何尋找合適的Project來學習一門新的語言呢?
http://codecademy.com我的一個學長搞的,程度涵蓋菜鳥到專業人士的互動教學的網站,有好幾種語言。不是廣告喲:)
其他答案里有很多大牛。看的讓人都不敢回答了。
學習編程,就是你要學習如何用它的思維,思想,去寫出這個菜譜。(借用斯坦福大學的某門課老師的比喻,程序是菜譜,計算機按照菜譜做事)。
比如很久以前我還不會windows的 gui 編程的時候,我先下載到了一份計算器小程序的源代碼。然後我就看它有個選項是彈出個小對話框,然後我就想它是怎麼得到用戶的輸入的呢,發現他用的是 DialogBox 的返回值,那個返回值是個int,因為輸入的內容很少,所以用這個int就能把所有信息都帶回來了。
但是更多的程序的對話框,裡面是有好多的輸入選項的啊,那麼怎麼能把這些信息,都反饋到主框架窗口(ui線程)的呢?後來我才明白,這些信息實際上是被打包成一個大的數據結構(生命期大於此對話框),都是通過指針傳遞到對話框的(對話框可以對這個數據結構的內容進行修改)。而那個 DialogBox 的返回值,在這種通用的情況下,通常只是返回 IDOK,IDCANCEL 而已(也就是說對話框是怎樣被關閉的)。所以,前面那種情況只是在這個數據結構很小情況下的特例,後面的情況才是通用的做法。
再後來當然我就明白了,可以熟練的用對話框和用戶進行交互了。這樣你就掌握了此處的方法和思想。類似的例子還有許多。就不一一舉例了。Talk is cheap, show me the code.少說廢話,放碼過來!
想個idea,開始寫程序。用在手裡才踏實。
如果你從來沒有學過編程語言(0基礎),想完全靠自己學,老實說 確實有些難度。如果你以前接觸過編程,或者曾經學過C,C++之類的語言,那麼你自己看書努力學,肯定能學會。
我告訴你 任何編程語言,無論用的是什麼編程思想,方法,其內容基本都是一樣的:數據結構,語句(語法)。
其實編程語言 學會一門 再學其他的語言 真是一通百通,很容易的。
我覺得學編程最難的是熟練程度的提高,需要記大量的函數,了解他們的類庫,模板庫等等,不過這些都需要 長期的積累才行。
如果你現在是零基礎的話,建議你找個軟體培訓機構去入門。
不過任何軟體培訓機構教的都很基本,想提高還要靠自己看書學習。
自學才是真正的王道!
可以去topcoder上面刷點演算法題。
自己設計一個語言,然後實現它的編譯器/解釋器。
建議從Scheme-like的語言開始,因為parser特別好寫,可以快速進入實現(程序語言最核心的)語義階段先從最最簡單的原型開始,只有整數類型,只有四則運算。然後慢慢往裡面加特性:控制流、函數、閉包、遞歸、類型系統(string、Boolean、亂七八糟的東西,注意函數也是first-class),最後到continuation(不一定要實現)。好了,這樣你就了解函數式的基本特徵以及這些特性的基本實現了。
然後再實現一個命令式的OO語言,先從C-like的原型開始,然後添加類、繼承、多態。
這樣你也了解OO語言的基本特徵和實現。
有了這些基礎,你就可以快速掌握其它語言的精髓。
當然語言是不斷進化的,上面那些東西都是老掉牙了,接下來你可以學習Haskell和C++的類型系統(看書看文檔就可以大概了,想深入理解的話就得拿它們寫複雜程序)、C#的語法糖。多啪啪啪(敲代碼),這都是熟能生巧的事情
學習編程語言最好的方法 就是 找一些有意思的小遊戲 用這個語言來實現,然後不斷的改進。。。
比如:生命遊戲,八皇后,。。。。更初級則如 楊輝三角,更複雜則如 坦克大戰、迷宮在實際運用中遇到問題,解決問題;小遊戲則讓你有動力不斷嘗試而不容易放棄明顯就是想得多,做的少。。。
推薦閱讀:
※關於函數式語言的編譯優化,有沒有好的學習資料?
※怎麼樣可以很好地理解編程中的遞歸呢?
※能否通過語義直接生成解釋器?
※編程軟體有沒有用中文編寫的?
※零基礎自學C語言需要什麼軟體?什麼視頻教程比較好?