Posts tagged: Ruby

Sep 02 2009

Ruby proqramlaşdırma dili

Ruby dinamik, reflektiv obyekt yönümlü proqramlaşdırma dilidir. 1993-cü ildə Yapon proqramisti tərəfindən yazılmağa başlıyıb və ilk versiyası 1995-ci ildə çıxıb. Ruby open source (açıq kod) proqramlaşdırma dilidir. Axırıncı stabil versiyası 1.8.6 dır və C dilində yazılıb. Burdan yükləyə bilərsiz. Ruby bir çox xüsusiyyətlərinə görə Python, Perl, Lisp dillərinə oxşayır. Rubynin də pythonda olduğu kimi interaktiv rejimi var. Açmaq üçün Start–>AllPrograms–>Ruby-186-26–>fxri-Interactive Ruby helps & console
1. Interaktiv rejimdə “Hello World” yazmaq üçün sadəcə bir komanda lazımdır.

irb(main):010:0> print "Hello world" 
Hello world=> nil
irb(main):011:0> puts "hello world" 
hello world
=> nil

print və puts hər ikis mətni ekrana çıxarır. Amma bunların bir -birindən fərqi var. Məsələn aşağıdakı misala baxaq.

irb(main):012:0> puts "hello", "ali"
hello
ali
=> nil
irb(main):013:0> print "hello", "ali"
helloali=> nil

puts hər birin yeni sətirdə çıxardığı halda print bu iki sözü birlikdə ekrana çıxardı.

2. Ruby də riyazi hesablamaları Pythonda olduğu kimi interaktiv rejimdə çox asanlıqla etmək olur.

irb(main):010:0> 109999999 * 355555555555
=> 39111110755494444445
irb(main):011:0> a=15
=> 15
irb(main):012:0> b=35
=> 35
irb(main):013:0> a+b
=> 50
irb(main):014:0> a = [1,3,45,56,2]
=> [1, 3, 45, 56, 2]
irb(main):015:0> a[0]
=> 1

3.Ruby obyekt yönümlü proqramlaşdırma dilidir. Obyekt yönümlü proqramlaşdırma dilində isə bildiyimiz kimi siniflər, metodlar və s vacib elementdir. Ruby də çox asanlıqla sinif yaratmaq olur.

irb(main):057:0> class Book
def initialize(author, name, year)
@author	= author
@name 	= name
@year	= year
  end
  end
=> nil

Nil deməli hər şey yolunda gedib. Beləliklə sinifimiz hazırdır. Book sinfin yaratdıq. initialize Rubydə xüsusi bir metoddur. Bu metodu yazmaqla biz Book.new çağıranda yeni unitialize Book obyekti yaradır və initialize metodun çağırmaqla parametirləri yeni obyektə ötürür. Məsələn:

irb(main):064:0> aBook = Book.new("Brain Tracy", "Goals", 2004)
=> #
 
irb(main):065:0> aBook.to_s
=> "#"

Obyektin id nömrəsin ekrana verir. Bu to_s i klasımızda istifadə edək

irb(main):066:0> class Book
irb(main):067:1>   def to_s
irb(main):068:2>     "Book: #{@author}--#{@name} (#{@year})
irb(main):069:2" "
irb(main):070:2>     end
irb(main):071:1>   end
=> nil
irb(main):072:0> aBook = Book.new("Brain Tracy", "Goals", 2004)
=> #
irb(main):073:0> aBook.to_s
=> "Book: Brain Tracy--Goals (2004)\n"

Nəticədə “Book: Brain Tracy–Goals (2004)\n” aldıq.

Aug 26 2009

Müxtəlif dillərdə “Salam Dünya” proqramı

Bu gün bir neçə dildə sadə “Salam Dunya” proqarmın yazaq. Və görək ki, bu dillər necədə bir birlərinə oxşayır.

  1. C dili

    1
    2
    3
    4
    5
    6
    
    #include  <stdio.h<
    int main () 
    { 
    printf("Salam Dunya! \n"); 
    return 0;
    }
  2. C++
    1
    2
    3
    4
    5
    6
    
    #include <iostream<
    using namespace std; 
    int main() 
    { 
    cout<<"Salam Dunya!" <<endl;
    }
  3. C#
    1
    2
    3
    4
    5
    6
    7
    8
    
    using system; 
    public class SalamDunya 
    { 
     public static void main() 
     { 
      Console.WriteLine("Salam Dunya! \n"); 
     } 
    }
  4. Java
    1
    2
    3
    4
    5
    6
    
    class salamdunya
    {  
            public static void main()        {
               System.out.println("Salam Dunya! \n");
            }
    }

    Burdan görüldüyü kimi Java və C# çox oxşayır. Hər iki dildə hər bir şey class içindədir. Yəni sadə proqramda classlardan ibarətdir.

  5. Python
    1
    2
    
    #!usr/bin/python 
    print "Salam Dünya \n"
  6. Ruby
    1
    
     puts "Salam Dünya"
  7. Perl
    1
    2
    
    #!usr/bin/perl
    print "Salam Dünya \n";

    Yuxarıdakı dillərin hamısı case senstividir. Yəni kodu yazanda kodda balaca hərfin yerinə böyük, böyük hərfin yerinə balaca hərf yazmaq olmaz. Məsələn C# da Console.Writeline(”Salam Dunya! \n”); yazsaq kompilyasiya səhvi verəcək. Çünki l böyük olmalıdır, mən balaca yazmışam. Yəni Console.WriteLine(”Salam Dunya! \n”);

  8. Pascal
    1
    2
    3
    4
    5
    
    Program SalamDunay;
    begin 
    Writeln("Salam Dunya");
    readln;
    end.

    Pascalda isə fərqi yoxdur. Böyük hərfin yerinə balaca balacanın yerinə böyük yaza bilərsən.

  9. PHP
    1
    
    echo "Salam, Dünya!"
  10. Bash
    1
    2
    
    #!/bin/bash
    echo "Salam Dunya "
  11. DOS
    1
    
    echo Salam Dunya
  12. Basic
    1
    
    PRINT "Salam, Dünya!"

Və s. :)

Aug 26 2009

Hansı proqramlaşdırma dilini öyrənməliyəm?

Proqramlaşdırmaya yeni başlayanda elə bilirdim ki, təkcə Basic və Pascal proqramlaşdırma dilləri var. Başqa dil yoxdur. Basiclə məktəbdə oxuyanda tanış olmuşdum. O vaxt düzü nəsə xoşum gəlməmişdi. Birinci kursda oxuyanda isə Pascal öyrənməyə başladım. Sonra eşitdim ki, pascal dili üzərində Delphi adlı mühit qurulub. Delphini öyrənməyə başladım. Hər gün keçdikcə bir yeni proqramlaşdırma dilinin adını eşidirdim. Bu məni yorurdu. Axı mən hansı dili bilməliyəm? Belə suallarla çox adam müraciət edirdim.
Mənə verilən cavablar müxtəlif olurdu. Riyaziyyatçılar deyirdi ki, proqramlaşdırma dilini bilmək boş şeydir. Əsas riyaziyyatdır.
Bəziləri deyirdi ki, əsas alqoritmin tapmaq lazımdır dili hamı öyrənə bilər.
Bəziləri deyirdi “flan” dili öyrən daha çox pul verirlər. O biri deyirdi sən nə danışırsan ” flan” dili həmişə yaşayacaq.
Beləliklə hərə bir cavab verirdi. Indi isə özüm istiyirəm bir cavab yazım. Deməli hansı dili öyrənmək lazımdır?
Wikipediaya baxsaz List of programming görərsiz ki, proqramlaşdırma dillərinin sayı həddindən artıq çoxdur. Kimsə müəyyən dili bəyənmiyib, özünə rahat bir dil yaradıb.

Əslində hansı dili öyrənmək sualından çox, hansı məqsəd üçün öyrənmək sualı haqqında fikirləşmək lazımdır.
Proqramlaşdırmanı şərti olaraq iki yerə bölək.

  • Desktop proqramlaşdırma
  • Web proqramlaşdırma

Desktop proqramlaşdırma deyəndə sistem üçün yazılan proqramlar, drayverlər, müxtəlif biznes proqramlar, riyazi proqramlar və s bura daxil ola bilər. Amma mən əməliyyat sistemlərinə görə desktop proqramlaşdırmanı da üç yerə ayırmaq istərdim.

  • Linuxda proqramlaşdırma
  • Windowsda proqramlaşdırma
  • Appleda proqramlaşdırma

Qeyd: Indi dillərin çoxu cross platformdur, yəni bütün əməliyyatlar sistemlərində işləyirlər.
Əgər linux mühitində işləyirsizsə və əgər linuxun nüvəsi (kernel) ilə məşğul olmaq istəyirsizsə, onda mütləq C dilin bilməlisiz. Linuxun nüvəsində həmçinin biraz assemblerdən istifadə olunub, assembleri də bilsəz onda lap əla olar. Əgər nüvə ilə işiniz yoxdursa, təkcə linuxda balaca scriptlər yazmaq istəyirsinizsə, onda bash script dili sizin işinizə yarıyacaq. Amma indi artıq scriptləri pythonda yazmağa üstünlük verirlər. Odur ki, python burda sizin əla köməkçiniz olacaq.
Əgər linuxda proqram yazmaq istəyirsinizsə, onda C++, Java, Python, Ruby + Qt bunlardan birin və ya bir neçəsin bilmək lazım olacaq.
Windowsa gəldikdə isə əgər windows applicationlar yazmaq istəyirsinizsə, onda Visual Studio sizə kifayət edəcək. Visual Studioda müxtəlif dillərdən istifadə etməyə imkan var, amma C# dili ən məsləhətlisidir.Yox, əgər visual studio və C# dan xoşunuz gəlmirsə, onda Java windows applicationlar yazmaq üçün əla seçimdir.
Apple isə əsasən Cocoa frameworkundən istifadə olunur və dil kimi Objective-C istifadə olunur.
Web proqramlaşdırmaya gəldikdə isə, Adil öz bloqunda bu haqda PHP-dən əvvəl… biraz məlumat verib.Bundan başqa siz asp.neti bilməklə də əla veb səhifələr yarada bilərsiz. Amma əgər evdə oturub, veb səhifə yığırsızsa, onda php ən məsləhətlisidir. Perl də bu yaxınlara kimi çox istifadə olunurdu, amma deyəsən yavaş-yavaş istifadəsi azalır və php onun yerini tutur. Bəzən isə sizə veb səhifənizə java appletlər qoymaq üçün Java da lazım ola bilər. Javascripti isə veb proqramistin sağ əlidir.
Yekun olaraq hansı dili bilmək lazımdır sualına birdə baxaq.

  1. C. Bir çox dillər (Java, C++, C# və s) öz sintaksisin bu dil əsasında qurublar. Bu dili bilməklə digər dillərə keçmək asan olacaq.
  2. PHP dili web səhifələr yaratmaqda sizə yaxından köməklik edəcək.
  3. C# dili windows applicationlar yazmaq üçün əla seçimdir.
  4. Java dili hesab edirəm sizə çox lazım ola bilər. Bütün platformaları dəstəkləyir. C#-a çox oxşuyur.
  5. Javascript adından da göründüyü kimi script dilidir. PHP server hissədə işlədiyi halda, javascript client hissədə işləyir. Vebdə sizə çox lazım olacaq.
  6. Python dilinə tələbat hər gün keçdikcə biraz artır. Google bu dildən çox istifadə edir. Məsləhətlidir
  7. C++ əgər sistemlə oynamaq istəyirsinizsə, onda C++ bilmək yaxşı olardı. Yuxarıdakı dillərin hamısından çətindir. :)
  8. Ruby Yuxarıdakı dillərin hamısından az işlənsədə, hər gün keçdikcə Ruby məşhurlaşır. Vaxt olduqca, qurdalamaq olar.

Deyəcəkisiniz ki, pascal qaldı axı? Pascal dili təzə başlıyanlar üçün yaxşıdır, amma sonra heç kimə lazım olmur. Pascal dili olimpiyada da lazım ola bilər. Bir də asan olduğu üçün onu universitetlərdə keçirlər. Mən isə pascala vaxt itirməyi məsləhət görməzdim.
Bir şey də qeyd edim. Dil bilmək hələ başlanğıcdır. Riyazi dillə desək proqramist olmaq üçün proqramlaşdırma dilini bilmək zəruridir, amma kafi deyil.

Aug 26 2009

Ruby on Rails


Ruby on Rails veb əlavələr (application ) yaratmaq üçün alətdir. Rails applicationlar Ruby dilində yazılır. Railsin özü də Ruby dilində yazılıb. Ruby on Rails sosyal şəbəkələr qurmaq üçün çox yaxşıdır. Məsələn, Facebook və Myspacedə bir çox applicationlar Ruby on Railsdə yazılıb. Ruby on Railsə başlamaq üçün ilk əvvəl onu install etmək lazımdır. Bu yazıda install qaydasını göstərəcəm.
Ruby on Railsin işləməsi üçün ilk əvvəl Ruby lazımdır.Ruby ni komputerinizə yükləyin . Adi windows proqramın necə install edirlər, elə install edin.
RubGemsi yükləyin və unzip edin.
Command Prompt vasitəsi ilə unzip etdiyiniz qovluğa gəlin və ruby setup.rb komandasın daxil edin.
setup.rb

Command Promptda gem install rails –include-dependencies komandasın daxil edin və railsin install olmağın gözlüyün. (gözləməkdən xoşunuz gəlmirsə, bir çay için, sonra davam edək :) )
setup2
Deməli Railsdə proyekt yazmaq üçün sizə mətn redaktoru və ya İDE lazım olacaq. (IDE olaraq Netbeans və ya RadRails istifadə edə bilərsiz.Hər ikisi pulsuzdur.)
rails rails_space komandasını daxil edin
rails space

rails_space qovluğu yarandı. O qovluğa keçərək. ruby script/server daxil edin. Bunun vasitəsi ilə siz Rails veb servisi işə salırıq.
rail server
Veb-browseri açın və http://localhost:3000 yazın
localhost
Brovserdə Rails haqqında informasiya çıxdı. Deməli Rails işə düşüb. Beləliklə Railsi install edə bildik. :)

Alibi3col theme by Themocracy