How to master a high-level programming language:(here specifically objective-c)
bottom-up thinking: down, how to think about the process of running the program from the bottom of the machine.
Focus on language constructs, compilation transformations, memory models, run-time mechanisms
Abstract thinking: upward, when the complexity of the software is high, the design needs to be abstracted into a code program.
Focus on object-oriented, component encapsulation, design patterns, architectural patterns
"Space-time Man" Trinity Analysis method:
Time: Complie-time VS run-time Time node division between compile time and run time
Space: Stack VS heap (heap) to differentiate stacks and heaps, because it determines the lifetime of the program
People: Programmer VS Compiler/runtime/framework distinguishes which code is written by itself and which is written by the compiler/runtime/framework.
Two kinds of development methods:
Compiler (clang or GCC) command line
Clang-fobjc-arc HELLOWORLD.M
Xcode Project
Develop in project units
must-see documents:
Programming with OBJECTIVE-C:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/
iOS zone:
https://developer.apple.com/library/ios/navigation/
Apple Developer Conference WWDC
Practice:
1. Print out HelloWorld with clang compilation
* * Write HELLOWORLD.M
* * Enter the folder where the file is located on the terminal, input Clang-fobjc-arc helloworld.m-o Hello
Generate a hello file after compiling with the./hello to execute
2. Print out HelloWorld with Xcode compilation
Objective-c Study Notes (i)