Archive for the “General” Category

Once upon a time, in my early days of programming, an instructor in the computer course wanted to help me improve my programming techniques! She asked me whether I would write a program to sort numbers from 0 to 9 given in mixed order. Then, she went. Perhaps she thought it would take too long.

After thinking a second, or two, I run after her and asked if it would make a difference if I correctly display them on the screen. She, confidently, said “no”.

A few minutes later, I called her to see the result. Although she had a shock, she didn’t even wondered how I did it!

Despite it has nothing to do with the logic of real sorting algorithms, there are many lessons behind it. One is that “the result is more important!” You guess the others…

Here is a C# implementation of that funny sorting algorithm. You may read the real stuff in Wikipedia.

 

using System;
using System.Text;

namespace FunnySort
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 7, 3, 6, 2, 0, 8, 4, 1, 5, 9 };
            foreach (int number in numbers)
            {
                Console.CursorLeft = number * 3;
                Console.Write(number);
            }
            Console.ReadKey();
        }
    }
}

Tags: ,

Comments No Comments »

Yazılımcı, yazılım geliştirmeye istekli veya bu yola girmiş genç arkadaşlardan sürekli aldığım bir istek, sonunda bu boş bloga bir kaç kelime eklemek, yıllanmış giriş yazısından kurtarmak konusunda beni iyice zorladı. İnşallah okuyanlara bir faydası olur.

Geçenlerde bir kardeşim, rutin yazılım işlerinden sıkılarak “yazılımcılık bumuymuş?” diye sormuştu. Halen üniversite 2. sınıfta okuyan bir arkadaşımız da mail atarak özetle şöyle bir istekte bulundu;

…nasıl bir çalışmayla, nasıl bir vizyon izlediniz…geliştirme noktasında mümkünse sizden bir yöntem, bir ipucu bekliyorum… en azından beni tetikleyecek bir kaç söz söylemenizi birkaç tecrübe paylaşmanızı…

Kendimi anlatmak amacıyla değil, biraz sorumluluk hissettiğim için… Bizim meslekte (!) öğrenecek şeylerin, yapılacak işlerin bir sınırı yok. Neleri yapmadığımın farkında olarak, yapabildiklerimden bahsetmek… Öncelikle yapılanların ne olduğundan da değil, yapabilmek için nerelerden geçildiğinden bahsetmek istiyorum. İnşallah bu çizgide bir kaç söz söylemeye muvaffak oluruz.

Bir hatıra ile başlayalım;

Ders Almak

Bir zaman, Halk Eğitim Merkezinde bilgisayar dersi veriyordum. Yazılım geliştirmekten sıkılıp, değişiklik olsun, hem de insan içine çıkalım diyerek yaptığım bir iş.

Hafta sonları, İstanbul için kısa, Bursa için uzun, bir iki saatlik bir mesafeye gidiyorum. Yer Bursa’nın MustafaKemalPaşa ilçesi. Tek bir sınıfım var. Değişik yaş ve mesleklerden yaklaşık 20 kişi. Öğlen yemeklerinde ise çoğunlukla kemalpaşa köftesi, üstüne de kemalpaşa tatlısı yiyorum.

Konular o zamanlar için genel; önce bilgisayarın tarihçesi anlatılır, işletim sistemi olarak biraz DOS öğretilir, ardından bir yazı programı, sonra da Basic ile programlama. Tarihçe ezber işi, kolay geçer. DOS, ilk adım, ne var, ne yok, o da bir şekilde öğrenilir. Yazı yazmak herkesin yaptığı şey zaten…

Programlama mı? Ona kadar herşey gayet iyiydi. Çoğu içi tamamen yeni bir konu. Bir problemi ele al, yapılacak işleri belirle, iş adımlarını yaz, ve çalışsın!

Basit bir kaç programı beraber yazdık. Hatta bir çarpım tablosu hazırlama programını, analizin ve programlamanın bakış açısına göre değiştiğini gösterebilmek adına farklı boyutlarda, üç farklı yöntemle yaptım. En kısa olan sadece dört satır ve dört komut; bir satır ekranı silme, iki satır döngü, bir satır da yazma için.

Sonra da küçük bir programı kendilerinin yapmasını istedim. Bir ders boyu bekledim fakat kimseden çıt yok. Herkes nereden başlasak diye düşünüyor, gözler bana bakıyor ama yardım etmemekte kararlıyım.

İkinci derse başladık. Anlatılan onca şeyden sonra bir adım ilerlemediklerini görünce, biraz da kızarak, uzun bir çay molası için sınıftan çıktım…

Ders sonuna doğru sınıfa dönünce herkesi bilgisayar başında, faal bir vaziyette buldum. Programlarını yazmaya başlamışlar, kimisi programını bitirmiş, yüzler gülüyor.

Meğer beni çok üzdüklerini düşünmüşler.

Halbuki benim aldığım ders farklıydı; “Kendin düşünmedikçe, nasıl yazılacağını bilemezsin!”

Ya da, “İşin içinde olmadıkça, işin içinden nasıl çıkacağını bilemezsin!”

(Meraklısına: Bahsi geçen kodun modern C# versiyonu burada.)
 

Comments No Comments »

Nooo, I did not work too hard to make the header image!

  1. Be there, at the Windows Vista and Office 2007 Launch Event in Istanbul.
  2. Before the show, take some shots to check the lighting.
  3. Crop it, resize it.
  4. Publish it!

 

Tags: , , , , ,

Comments No Comments »

I finally started blogging!

Why?.. I had to! There are so many things in my mind that needs to be read. In this blog, I will try to discuss things that I, my colleagues, friends and you would find useful.

But, there is nothing today! I’m busy with this WordPress thing. I’ll check some themes, plug-ins, widgets… whatever needed for a blog.

I will begin writing soon. By that time, you may check my resume. Some generic information is there.

To my Turkish friends: Sorry, the main language of this blog will be English. It is for everyone. But I will write in Turkish, if you request a specific topic.

Have fun!

 

Tags:

Comments No Comments »