The following are steps when I learn a programming language. For new enginners, I also suggested them to do so. Lets take PHP as an example.
Offical tutorial, language reference, and function references
We can find all of them on the language's office website.
- Tutorial gives us an overview of the language.
- Language Reference helps us understand syntax and the language features.
- Scanning the Function Reference helps us understand the built-in functions so we can reference them when we really need them.
Coding style and common idioms
The community usually has a standard coding style an common idioms. If cannot find it on the official website, try Stack Overflow
We usually not only know the best practices, but also find some links to other tools in the ecosystem in those guides.
Common tools and the ecosystem.
There are common tasks while developing an application, like testing, debugging, building, deployment, and package management.
- Testing: phpunit
- Debugging: Xdebug
- Build: Phing
- Package Management: Composer
- Documentation: ApiGen
- Write Better Code: PHPMD, phpcpd, PHPLint
We might also want to find how those tools can be integrated with our IDE and continuous integration server.
Extensions, frameworks and libraries
For some language like PHP, we should also understand how language extension works.
However, do not reinvent the wheel. Depends on our application needs, try to survey and get the most suitable framework/libraries.
- Web Development: Symfony
- Database Access / ORM: Doctrine
- Logging: Monolog
- Templating: Mustache, Smarty, Markdown
- Queue: php-resque
- Email: swiftmailer
- Webservice Client: Guzzle
- Feed Parser: SimplePie
Setup in development and production environment
Get the latest security updates from a trusted source.