Drupal 8 Development

A good starting point is the Drupal API, see Drupal 7 | API reference | Drupal API or Drupal 8 | API reference | Drupal API for Drupal 8 information, which has not been released at the time of writing.

It is worth reading Coding standards | Drupal.org before developing with Drupal. Whilst you may not agree with everything it is the basis on which all Drupal development should work.

Configuration Forms

When creating Configuration Forms for modules then Form API Reference | Drupal 8 | Drupal API is handy for seeing what options there are for inputting on the form and layout. For some advanced stuff like hiding or disabling things then see drupal_process_states | common.inc | Drupal 8 | Drupal API.

Logging

This is something else that has changed in Drupal 8, gone is the old watchdog function. Now, if you want to log a simple notice you do this: \Drupal::logger('modulename')->notice('message');. The alternatives to notice are listed at LoggerInterface | LoggerInterface.php | Drupal 8 | Drupal API if needed.

New Classes

When you define a new class, just like Java, the class name must be the same as the filename, however the filename does have the .php extension.