RSS

Gizli silahlar ve fonksiyonel programlama

12 Mar

Bugün irc.freenode.net’te #haskell kanalındaki yazılım geliştiricilerden biri başvurduğu bir şirketi ve birkaç saatlik iş görüşmesini anlatıyordu. Hangi şirket olduğunu sorduğumda Aetion Technologies olduğunu, şirketin finans, üretim ve savunma alanlarına yönelik olarak stratejik ürünler geliştirdiğini belirtti. Hakkımızda kısmında ise şöyle yazıyordu:

Over coming months we are recruiting intelligent programmers who can proficiently apply computer science. In our work we often learn and apply technical skills, including functional programming, to master new challenges. A background in mathematics, science or engineering is an advantage.

Web sayfalarının hemen hiçbir yerinde neleri kullandığını söylemeyen şirketin web sistesinde hakkımızda bölümündeki küçük bir not ve linkten gidildiğinde ise şu tür açıklamalar göze çarpıyordu:

Much of our development is done in Haskell using the Glasgow Haskell Compiler under Debian GNU/Linux on AMD-based machines. We use opensource tools such as QuickCheck, Hunit and darcs to manage code.

Aklıma Common Lisp, Haskell gibi popüler olmayan dillerle karşılaştıklarında “ama bu diller geliştirilmiş ve milyonlarca insanın kullandığı ürünler nerede, madem o kadar iyiler Oracle ve SAP niye bunları kullanmıyor ki, hem Java ve C# kadar neden yaygın değiller madem?” şeklinde soru soranlar ve bunlara verilen klasik cevaplar geldi.

Aklıma gelen bir başka şey ise iş ilanlarında programcının 30 yaşından gün almamış olmasını, askerlikle ilişkisinin bulunmamasını ve aynı anda HTML, JavaScript, Java, CGI, .NET, C#, Perl, CVS, Subversion, Photoshop, Office ve Assembly bilmesini isteyen şirketler geldi, bu blog girdisine konu olan şirketin adam arama şekline göz attım:

We do not have time to study all applicants carefully. Therefore, especially for programming positions, we strongly encourage you to draw our attention to yourself by submitting some Haskell code that demonstrates your understanding of recursion and monads. You may submit code that you have written in some previous work, or devise a new idea of your own. Examples of the sort of code that uses monads sufficiently include: Longest.hs, for finding which file has the most lines; Stack.hs and StackM.hs, a stack monad that implements a FILO.

Bu şekilde çalışan arama yöntemi geliştiren şirkete can kurban mı desek, ne desek bilmem…

Tabii bu birkaç alıntı ve söz konusu şirketin web sitesi, ucu açık, kesin çözümü çok iyi bilinmeyen, deneysel programlama teknikleri gerektiren ve karmaşık algoritmaların geliştirileceği, hızlı çözüm sunulması gereken projelerde çok yaygın olmayan ama güçlü dillerin kullanıldığına dair bir örnek olarak okunabilir.

Advertisements
 
 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: