My programming language references
This week I am in Podgorica, Montenegro, where is the capital city of Montenegro.
Today I would like to note my references for programming languages.
This page is updated regularly.
My current status for each programming languages.
- Active: Python, Scala, Java, Ruby, Perl, Born-shell
- Inactive: PHP, Objective-C, C, Node.js, CoffeeScript, C#
My interesting tech: Genomics, Hadoop.
Active
Python
- Official site: https://www.python.org/doc/
- Lint tool: flake8 (hacking module: https://github.com/openstack-dev/hacking)
- Best Practice, Coding Conventions: PEP8, PEP257, and etc. See my blog: http://junaruga.hatenablog.com/entry/2015/08/01/000037
- Nice book: Data Science from Scratch - O'Reilly Media
Scala
- Official site: http://www.scala-lang.org/documentation/
- Japanese scala users group [Japanese]: 日本Scalaユーザーズグループ - ScalaJP
- Lint tool: http://www.scalastyle.org
- Best Practice, Coding Conventions:
-
- The book "Beginning Scala by David Pollak"
- English: http://www.amazon.com/Beginning-Scala-Experts-Voice-Source/dp/1430219890
- Japanese: Scalaプログラミング入門 http://www.amazon.co.jp/dp/4822284239
- The book "Programming in Scala 2nd Edition"
- English: http://booksites.artima.com/programming_in_scala_2ed
- Japanese: Scalaスケーラブルプログラミング第2版
- Scala Style Guide: https://class.coursera.org/progfun-005/wiki/ScalaStyleGuide
- Effective Scala (by Twitter)
- The book "Beginning Scala by David Pollak"
- Source code sample:
- IDE: Intellij IDEA (https://www.jetbrains.com/idea/download/), with SBT.
Java
- Official site: https://java.com/en/
- Lint tool: ?
- Best Practice, Coding Conventions:
- Oracle: Code Conventions for the Java Programming Language: Contents
- Google: Google Java Style
- The book "Effective Java 2nd edition"
- IDE: Intellij IDEA, with Maven
Ruby
- Official site: https://www.ruby-lang.org/en/documentation/
- Lint tool: Only "ruby -cW", right now.
- Best Practice, Coding conventions:
- CookPad: cookpad/styleguide - GitHub
- The book "Ruby Best Practices": http://shop.oreilly.com/product/9780596523015.do
- Rubocop's Style Guide: https://github.com/bbatsov/ruby-style-guide
- Source code sample:
Perl
- Official site: https://www.perl.org/
- Lint tool: Perl::Critic
- Code formatting tool: perltidy
- Best Practice, Coding conventions: The book "Perl Best Practices"
- Source code sample:
- Miyagawa-san's github :) : https://github.com/miyagawa
- Other references:
- YAPC Asia youtube (Japanese): yapcasia - YouTube
Born-shell
Not Born again shell (bash), but Born shell (sh).
- Best practice, coding conventions:
- [English] Portable Shell Programming: An Extensive Collection of Bourne Shell Examples http://www.amazon.com/dp/0134514947
- Supplement page http://bruceblinn.com/books/bournebook/index.html
- [Japanese] 入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界
- [English] Portable Shell Programming: An Extensive Collection of Bourne Shell Examples http://www.amazon.com/dp/0134514947
Inactive
PHP
- Best practice, coding conventions:
- Lint tool: PHPCS, PHPMD
- IDE for PHP: PHP Storm (JetBeans): https://www.jetbrains.com/phpstorm/
- Source code sample: Guzzle (Web Scraper): https://github.com/guzzle/guzzle
Objective-C
- Best practice, coding conventions:
- IDE: Xcode :)
- Source code sample:
- Kishikawa-san's github :) : https://github.com/kishikawakatsumi
C
- Best practice, coding conventions:
- Programming Style: https://en.wikipedia.org/wiki/Programming_style
- K&R Style: https://en.wikipedia.org/wiki/Indent_style#K.26R_style
- The book "The C Programming language"(プログラミング言語C) K&R:
- English: http://www.amazon.com/dp/0131103628
- Japanese: http://www.amazon.co.jp/dp/4320026926
- The book "The practice of programming" (プログラミング作法):
- English: http://www.amazon.com/dp/020161586X
- Japanese: http://www.amazon.co.jp/dp/4756136494
Node.js
- Lint tool: jshint
- Best practice, coding conventions:
- The book "JavaScript: The Good Parts": http://shop.oreilly.com/product/9780596517748.do
- The book "JavaScript Patterns": http://shop.oreilly.com/product/9780596806767.do
CoffeeScript
Later.
C#
Later.