hehehe it should have been RoR first day!
yep, April 25 or simply put today was the first day
of the RoR training.
Ms Mafe (blooming in her white attire) opened the training
with the trainee's RoR training expectations (taken from the survey) and there are lots of them,
(take note it's an intensive training so better fasten your seat belt!)
and of course there are managament's expectations too.
Then Ms. Jackie gives us the training schedule, topics
to be discussed, and the RoR gurus that would share their knowledge throughout the training.
Finally Stephen (a.k.a Popol, formal mode
) takes the stage.
He is our first instructor for Ruby Basics and that would be Ruby Background.
He give us a brief history on how Ruby was conceived in the world.
Tiny bits of Ruby history:
- Created by Yukihiro Matsumoto(Matz)
- 1993, February 24: Matz started to work on Ruby.
- 1995, December: First release 0.95.
- 1996, December: 1.0 is released.
- 2003, August 4: 1.8.0 is released.
- 1.9.0/ December 26, 2007 (2007-12-26)
- Influenced by: Smalltalk, Perl, Lisp, Scheme, Python, CLU, Eiffel, Ada, Dylan
The Semantics and Features of Ruby:
Ruby is object oriented - every data type is an object (classes and types which other languages designate as primitives).
It has support for introspection, reflection and metaprogramming, as well as interpreter-based threads,
dynamic typing, and parametric polymorphism.
The Ruby Philosophies:
(Stephen said this can guide you if Ruby is meant for you in the long run.)
- productive and fun
- simple and friendly API
- consistent and regular
- principle of least surprise
- we are the masters, they are the slaves (for the time being)
- Less is more
- The ruby way
* Ruby is designed for programmer productivity and fun,
following the principles of good user interface design.
The systems design needs to emphasize human, rather
than computer needs.
*It follows the principle of least surprise (POLS),
meaning that the language should behave in such a way
as to minimize confusion for experienced users.
As Stephen discusses these things in reality there are things
that are going on in the background.
(I know what your thinking but it isn't what I mean.)
We (the trainees) are actually setting up the environment needed.
Good thing I have everything set up but unfortunately I have to change my Rails
version to a lower version. :(
After losing connection from time to time, I guess almost everyone
had installed Ruby, Rails, and Aptana as our IDE (this am not sure).
Yeah, their are questions and Stephen answered everything quite well.
He also showed us some simple tricks, that is changing the state of an object.
Since in Ruby each objects knows its own state.
So if you know you know your state you can play around with it right?
I somewhat got interested with "final" objects that are supposed to be
final but still Ruby can get his hands on. lol Yes, Stephen clarifies that
Ruby has a power to freeze and unfreeze (final) objects!
The more interesting part is metaprogramming.
Metaprogramming is writing programs that write programs.
Analogy: "Writing Ruby that can write Ruby."
Does Java had metaprogramming?
That's all for 0.5 day! Maybe I'd miss some important things so kindly share it, you are very much appreciated.
No comments:
Post a Comment