Skip to content

Commit 18e8395

Browse files
committed
new article: why ruby
1 parent 68e1961 commit 18e8395

File tree

6 files changed

+129
-1
lines changed

6 files changed

+129
-1
lines changed

_includes/footer.html

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<li><a href="/learnruby">Learn Ruby</a></li>
77
<li><a href="/videos">Videos</a></li>
88
<li><a href="/about">About</a></li>
9+
<li><a href="/articles">Articles</a></li>
910
<li><a href="/milist">Mailing list</a></li>
1011
<li><a href="/resources">Resources</a></li>
1112
<li><a href="/companies">Companies</a></li>

_includes/header.html

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<p>Indonesian Ruby Users Group</p>
55
<nav class="top-nav">
66
<ul>
7+
<li><a href="/articles">Articles</a></li>
78
<li><a href="/milist">Mailling List</a></li>
89
<li><a href="/resources">Resources</a></li>
910
<li><a href="/companies">Companies</a></li>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
layout: post
3+
title: Mengapa Ruby? Pandangan dari Aspek Bisnis
4+
cat: articles
5+
author: Fajrin Rasyid
6+
excerpt: Berbicara soal pemrograman web, tidak dapat dipungkiri PHP masih merupakan bahasa yang paling populer digunakan, setidaknya di Indonesia. Apabila kita bertanya, “Apakah Anda menguasai Ruby?” secara random kepada programmer web yang kita temui, kemungkinan besar akan menjawab tidak.
7+
---
8+
9+
> Tulisan ini adalah rangkuman presentasi Jakarta.rb yang diberikan oleh Fajrin Rasyid pada Februari 2012.
10+
11+
Berbicara soal pemrograman web, tidak dapat dipungkiri PHP masih merupakan bahasa yang paling populer digunakan, setidaknya di Indonesia. Apabila kita bertanya, “Apakah Anda menguasai Ruby?” secara random kepada programmer web yang kita temui, kemungkinan besar akan menjawab tidak. Saya sendiri baru mengenal Ruby sekitar tiga tahun lalu, ketika [Bukalapak.com](http://www.bukalapak.com), yang merupakan salah satu produk awal kami ([Suitmedia](http://www.suitmedia.com)), mulai dirintis.
12+
13+
Faktanya, memang sulit bagi perusahaan (termasuk kami di Suitmedia) untuk mencari programmer Ruby, dan sebaliknya, sulit bagi programmer Ruby untuk mencari perusahaan yang bagus untuk bekerja. [Udemy](http://www.udemy.com/blog/modern-language-wars/) pernah membuat laporan terkait hal ini. Bagi programmer Ruby yang mencari tempat bekerja, Udemy merangkum dari Craigslist bahwa dari seluruh lowongan pekerjaan yang tersedia untuk programmer, hanya 3% lowongan bagi programmer Ruby, bandingkan misalnya dengan PHP (21%), C++ (12%), atau C (10%). Sementara itu, bagi perusahaan yang mencari programmer Ruby, Udemy menyatakan bahwa di LinkedIn hanya terdapat sekitar 700 programmer Ruby, bandingkan dengan PHP (19000) dan Python (1300).
14+
15+
Terlepas dari fakta bahwa banyak informasi lowongan ataupun SDM Ruby yang tidak terafiliasi dengan kedua situs tersebut, sepertinya fakta diatas tidak dapat dihindari. Lantas, apakah itu berarti Ruby adalah bahasa pemrograman yang kurang potensial? Tidak juga. Berikut beberapa hal yang menunjukkan bahwa Ruby adalah salah satu bahasa pemrograman yang efektif.
16+
17+
## 1. Ruby itu menyenangkan
18+
19+
Kembali ke cerita diatas, ketika Suitmedia mulai mengembangkan Bukalapak.com, Nugroho (CTO Bukalapak, eks CTO Suitmedia) menyarankan untuk menggunakan Ruby karena menurutnya Ruby itu menyenangkan dan elegan. Beliau lantas membandingkan contoh kode yang diperlukan dalam bahasa Java dan Ruby untuk membuat beberapa fungsi yang sama sebagai berikut.
20+
21+
Fungsi 1 – Java
22+
<pre>
23+
class ThisIsAClassIDontReallyWantToNameButJavaMakesMe
24+
{
25+
public static void main() {
26+
System.out.println("Hello World");
27+
}
28+
}
29+
</pre>
30+
31+
Fungsi 1 – Ruby
32+
<pre>
33+
puts ‘Hello World’
34+
</pre>
35+
36+
Fungsi 2 – Java
37+
<pre>
38+
import java.io.File;
39+
import java.io.InputStream;
40+
// ... declare class, etc., then ...
41+
public byte[] justReadMeAFilePlease() {
42+
try {
43+
file = new File("my-file.txt");
44+
fis = new FileInputStream(file);
45+
byte[] b = new byte[(int) file.length()];
46+
fis.read(b);
47+
return b;
48+
} catch (Exception e) {
49+
e.printStackTrace();
50+
}
51+
}
52+
</pre>
53+
54+
Fungsi 2 – Ruby
55+
<pre>
56+
contents = File.read ‘my-file.txt’
57+
</pre>
58+
59+
Pada akhirnya kami yakin bahwa Ruby memang elegan dan menyenangkan, khususnya bagi programmer yang sepenuhnya berinteraksi (membaca dan menulis) dalam bahasa tersebut. Oleh karena itu, kami sepakat untuk mengembangkan Bukalapak.com dalam bahasa Ruby karena iklim/suasana kerja yang menyenangkan adalah faktor terbesar dalam meningkatkan produktivitas kerja (dan karena itu baik bagi bisnis).
60+
61+
## 2. Ruby mudah dipergunakan kembali
62+
63+
Masih bersumber dari Udemy, kebanyakan mengakui bahwa Ruby merupakan bahasa yang elegan dan powerful. Ruby sangat mudah dipergunakan kembali sesuai dengan prinsipnya yang seminimal mungkin menimbulkan kebingungan. Salah satu dampaknya adalah, mudah bagi programmer Ruby untuk mempelajari kode yang dibuat oleh programmer Ruby lainnya. Secara bisnis, ini akan mempermudah dalam maintenance produk yang dikembangkan.
64+
65+
## 3. Meskipun tidak banyak, tetapi programmer Ruby biasanya adalah orang yang benar-benar suka membuat program
66+
67+
Sederhananya, karena jumlah lowongan kerja Ruby jauh lebih sedikit dibandingkan lainnya, biasanya orang-orang mempelajari Ruby bukan untuk memperoleh pekerjaan, melainkan karena telah berinteraksi dengan dunia pemrograman cukup lama dan tidak puas dengan bahasa yang mereka sudah kenal. Hal ini melahirkan dua paradoks:
68+
69+
Paradoks 1: “Apabila perusahaan mengembangkan program dalam bahasa yang tidak umum, maka perusahaan itu
70+
berpeluang untuk merekrut programmer berkualitas baik, karena programmer bahasa tersebut adalah
71+
orang-orang yang peduli untuk mempelajari dan mendalami bahasa pemrograman tersebut (bukan sekadar orang-orang yang mencari pekerjaan)”
72+
73+
Paradoks 2: “Bahasa yang baik untuk dipelajari apabila Anda ingin mendapat pekerjaan, adalah bahasa yang dipelajari tidak hanya untuk mendapat pekerjaan”
74+
75+
Kedua paradoks diatas memang tidak dapat dibuktikan secara ilmiah. Faktanya, tidak banyak perusahaan yang menyadari hal tersebut. Namun menariknya, perusahaan yang menyadari hal ini adalah perusahaan yang memang dicari oleh orang-orang. Tengok saja Twitter, Groupon, Github, Scribd, dan lain-lain yang berbasiskan Ruby. Singkatnya, meskipun jumlah lowongan ataupun SDM Ruby sedikit, kemungkinan besar kualitasnya akan berada diatas rata-rata.
76+
77+
## 4. Poin tambahan bagi startup
78+
79+
Mungkin sebagian dari pembaca terlibat dalam startup, entah itu founder, tim, ataupun setidaknya pemerhati :) Dunia startup memang booming di Indonesia sejak beberapa tahun terakhir, dan salah satu karakteristik penting di dalam bidang ini adalah “all or nothing”. Artinya, tidak seperti perusahaan besar yang grafik pertumbuhannya tidak tajam, startup dapat tumbuh sekian kali lipat dalam waktu singkat, tetapi sebaliknya dapat hancur seketika. Dalam kondisi seperti ini, memiliki sesuatu yang berbeda bagi suatu startup adalah salah satu nilai lebih apabila dibandingkan dengan kompetitor, dan memiliki sistem berbasis Ruby adalah salah satu contohnya.
80+
81+
Suitmedia sendiri mengalami beberapa poin diatas, contohnya ketika Nugroho harus berfokus di Bukalapak.com sehingga proyek-proyek yang sebelumnya ditanganinya di Suitmedia harus dialihkan ke programmer lain (dalam hal ini yaitu Dimas), hal tersebut dapat berjalan lancar dan cepat. Pun ketika Dimas harus berfokus di produk lain sehingga ia harus menyerahkan kembali proyek-proyek tersebut ke programmer lain (dalam hal ini yaitu Agung).
82+
83+
Tentunya, pembaca dapat mengalami hal-hal berbeda (ataupun sama) dengan yang tertulis disini. Oleh karena itu, silakan komentari, terima kasih :)

articles/index.html

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
layout: full
3+
title: Articles
4+
cat: articles
5+
---
6+
7+
{% for post in site.categories.articles %}
8+
<article class="post">
9+
<header class="prime">
10+
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
11+
<ul class="post-meta">
12+
<li><a href="{{ post.url }}">{{ post.date || date_to_string }}</a></li>
13+
<li><a href="{{ post.url }}">By {{ post.author }}</a></li>
14+
</ul>
15+
</header>
16+
<div class="post-preview">
17+
{% if post.image %}
18+
{% assign preview_class = "with-image" %}
19+
<div class="image-post">
20+
<img src="{{ post.image }}">
21+
</div>
22+
{% endif %}
23+
{% if post.excerpt %}
24+
<p>
25+
{{ post.excerpt }}
26+
</p>
27+
{% else %}
28+
{{ post.content }}
29+
{% endif %}
30+
{% if post.excerpt %}
31+
<a class="more" href="{{ post.url }}">Read more</a>
32+
{% endif %}
33+
</div>
34+
</article>
35+
{% endfor %}

css/main.css

+7-1
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,14 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav,
4545
display: block;
4646
}
4747

48-
blockquote, q {
48+
blockquote {
4949
quotes: none;
50+
content: "";
51+
content: none;
52+
font-style: italic;
53+
font-size: 105%;
54+
font-family: 'rockwell', "Courier New", Courier, Georgia, Times, "Times New Roman", serif;
55+
color: #666;
5056
}
5157

5258
blockquote:before, blockquote:after,

index.html

+2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
1919
</div>
2020
{% endif %}
2121
{% if post.excerpt %}
22+
<p>
2223
{{ post.excerpt }}
24+
</p>
2325
{% else %}
2426
{{ post.content }}
2527
{% endif %}

0 commit comments

Comments
 (0)