Monday, December 28, 2015

Language Summaries: Ruby, Java

Ruby

Ruby is the cool new kid on the block that everybody wants to know more about. It's shiny. It's fun. And it can be used for web development.
  • feel: organic  (splat arguments, etc.)
  • typing: loose (A number becomes a string when it needs to; type is determined by context)
A quick Google of "learning ruby" will reveal some nice online resources with which to learn Ruby. Codecademy will teach you syntax. "Learn Ruby the Hard Way" makes no assumptions about prior experience and provides a nice, simple workflow that lets you follow along and write real code while getting used to navigating your filesystems, the terminal, and other programming basics.

AppAcademy, a coding bootcamp (one among many,) offers crash courses in Ruby on Rails (a web development framework) that can take amateur coders with potential and turn them into entry-level professionals -- assuming you can pay them $5k up front, quit your day job for 3-9 months, move to San Francisco or New York, and survive there until you find a job (as much as 6 months after you've finished the bootcamp).

Java

Java is like a bad high school science teacher. Everything has to be just so. If things are not just so, then we shall not proceed until things are just so.
  • feel: rigid (methods take a precise number of parameters)
  • typing: strong (Every object has a known type. To change this type, a type-change assignment statement must be made. This is known as type casting. Example shown below.)
Button sillyButton
sillyButton = (ImageButton)stupid

I got my start with Java in an undergraduate elective, where we used the Eclipse IDE to write, manage, and compile code. Since then, I was lucky enough to have the opportunity to put Java to use in a real project (one of the directors of the CAMCOR lab at UO wanted to do some data cleaning and analysis, so I sketched up a package to do the job.) Netbeans, a popular Java text editor, was my best friend for that project.