<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Böyük hədəflərə kiçik addımlarla! &#187; C#</title>
	<atom:link href="http://alismayilov.blogy.az/category/microsoft/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://alismayilov.blogy.az</link>
	<description>Xoş gəlmisiniz.</description>
	<lastBuildDate>Thu, 14 Jan 2010 10:46:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Event Handler</title>
		<link>http://alismayilov.blogy.az/2009/09/02/event-handler/</link>
		<comments>http://alismayilov.blogy.az/2009/09/02/event-handler/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 07:17:22 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=136</guid>
		<description><![CDATA[Event Handler, yəni bir hadisə və bu hadisəyə cavab.Məsələn, buttonu basanda nə baş versin. Və ya mouse hərəkət etdirəndə hansı hadisə baş versin. Çox sadə bir şeydir. Açın visual studiod yeni proyekt. Bir dənə button qoyun, onun adında dəyişin edin Close.(bunları keçən dəfə etdik). Keçən dəfə buttonun üstündə 2 dəfə klik etmişdik. Və .Net bizim [...]]]></description>
			<content:encoded><![CDATA[<p>Event Handler, yəni bir hadisə və bu hadisəyə cavab.Məsələn, buttonu basanda nə baş versin. Və ya mouse hərəkət etdirəndə hansı hadisə baş versin. Çox sadə bir şeydir. Açın visual studiod yeni proyekt. Bir dənə button qoyun, onun adında dəyişin edin Close.(bunları keçən dəfə etdik). Keçən dəfə buttonun üstündə 2 dəfə klik etmişdik. Və .Net bizim üçün Buttonclick eventi yaratmışdı. İndi də Properties pəncərəsində Events bölməsinə keçin və orda click hadisəsiniin üstündə 2 dəfə klik edin.<br />
<img src="http://proqramist.azeriblog.com/public/blogs/proqramist/2008/08/08/click.jpg"/><br />
.Net bizim üçün</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
&nbsp;
namespace eventHandler
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
&nbsp;
        private void button1_Click(object sender, EventArgs e)
        {
&nbsp;
        }
    }
}</pre></div></div>

<p>bu boyda kod yaratdı. İndi isə button1_click üçün this.Close(); yazın. Proqramı build, sonra isə debug edin. Ok, bizim button1_click eventimiz hazırdır. İndi başqa bir event yaradaq. Bir dənədə düymə (button azərbaycanca düymə olurda)  qoyun ekrana.Events bölməsindən MouseMove hadisəsin tapın. İndi isə bu kodu</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;"> button2.Left += e.X;
  button2.Top -= e.Y;</pre></div></div>

<p>yazın. Düymənin textin dəyişin qoyun, tut məni. Proqramı  debug edin.İndi düyməyə klik etmək istəyəndə düymə hərəkət edir və siz klik edə bilmirsiz. <img src='http://alismayilov.blogy.az/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/09/02/event-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# dili</title>
		<link>http://alismayilov.blogy.az/2009/09/02/c-dili/</link>
		<comments>http://alismayilov.blogy.az/2009/09/02/c-dili/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 07:10:13 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=164</guid>
		<description><![CDATA[C# obyekt yönümlü proqramlaşdırma dilidir. Bütün C# obyektləri object sinifindən alınır. Sinif içərisində verilənlər, davranış və xüsusiyyətlər olan bir qavramdır. Verilənlərə property ,event və dəyişənləri aid etmək olar. Davranışa metodları, xüsusiyyətlərə isə hər bir sinifdən törəyən obyektin öz belə demək mümkünsə şəxsi xüsusiyyətlərin aid etmək olar. C# c/c++ ailəsində ilk &#8220;component oriented&#8221; proqramlaşdırma dilidir. Burda [...]]]></description>
			<content:encoded><![CDATA[<p>C# obyekt yönümlü proqramlaşdırma dilidir. Bütün C# obyektləri object sinifindən alınır. Sinif içərisində verilənlər, davranış və xüsusiyyətlər olan bir qavramdır. Verilənlərə property ,event və dəyişənləri aid etmək olar. Davranışa metodları, xüsusiyyətlərə isə hər bir sinifdən törəyən obyektin öz belə demək mümkünsə şəxsi xüsusiyyətlərin aid etmək olar. C# c/c++ ailəsində ilk &#8220;component oriented&#8221; proqramlaşdırma dilidir. Burda demək olar ki, obyektdir. C++ bilənləriniz varsa orda headerlər olurdu. C# da onlara ehtiyac yoxdur.<br />
Siniflər obyekt yönümlü proqramlaşdırmanın əsasını təşkil edir. Yəni biz bir obyekti siniflərin köməyi ilə yarada bilərik. Siniflərin bir çox növü var. Məslən sealed, partial, abstract, static siniflər. Classı (sinifi) necə yaratmağı öyrənək.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">class haqqimda 
{
//dəyişənlər
public string ad;
private string gizli;
//constructor
&nbsp;
public haqqimda()
&nbsp;
{
ad = &quot; Ali &quot;;
gizli = &quot; Private olan soz &quot;;
}
&nbsp;
//destructor 
&nbsp;
~haqqimda ()
{
// bura class baglanan zaman lazim olan emelliyat yazilir. Ele de istifade olunmur . 
}</pre></div></div>

<p>P.S. Bu yazını 2008-ci ilin yanvar ayı mix.azın formunda yazmışdım. İnternetdə gəzəndə təsadüfən qabağıma çıxdı. Dedim öz əməyimdir, bloguma qoyum <img src='http://alismayilov.blogy.az/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/09/02/c-dili/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Müxtəlif dillərdə &#8220;Salam Dünya&#8221; proqramı</title>
		<link>http://alismayilov.blogy.az/2009/08/26/muxt%c9%99lif-dill%c9%99rd%c9%99-salam-dunya-proqrami/</link>
		<comments>http://alismayilov.blogy.az/2009/08/26/muxt%c9%99lif-dill%c9%99rd%c9%99-salam-dunya-proqrami/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:54:35 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proqramlaşdırma]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=107</guid>
		<description><![CDATA[Bu gün bir neçə dildə sadə &#8220;Salam Dunya&#8221; proqarmın yazaq. Və görək ki, bu dillər necədə bir birlərinə oxşayır.

 C dili

1
2
3
4
5
6
#include  &#38;lt;stdio.h&#38;lt;
int main () 
{ 
printf(&#38;quot;Salam Dunya! \n&#38;quot;); 
return 0;
}


 C++

1
2
3
4
5
6
#include &#38;lt;iostream&#38;lt;
using namespace std; 
int main() 
{ 
cout&#38;lt;&#38;lt;&#34;Salam Dunya!&#34; &#38;lt;&#38;lt;endl;
}


C#

1
2
3
4
5
6
7
8
using system; 
public class SalamDunya 
{ 
 public static void main() 
 { 
  [...]]]></description>
			<content:encoded><![CDATA[<p>Bu gün bir neçə dildə sadə &#8220;Salam Dunya&#8221; proqarmın yazaq. Və görək ki, bu dillər necədə bir birlərinə oxşayır.</p>
<ol>
<li> C dili</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">#include  &amp;lt;stdio.h&amp;lt;
int main () 
{ 
printf(&amp;quot;Salam Dunya! \n&amp;quot;); 
return 0;
}</pre></td></tr></table></div>

</li>
<li> C++

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">#include &amp;lt;iostream&amp;lt;
using namespace std; 
int main() 
{ 
cout&amp;lt;&amp;lt;&quot;Salam Dunya!&quot; &amp;lt;&amp;lt;endl;
}</pre></td></tr></table></div>

</li>
<li>C#

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">using system; 
public class SalamDunya 
{ 
 public static void main() 
 { 
  Console.WriteLine(&quot;Salam Dunya! \n&quot;); 
 } 
}</pre></td></tr></table></div>

</li>
<li>Java

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">class salamdunya
{  
        public static void main()        {
           System.out.println(&quot;Salam Dunya! \n&quot;);
        }
}</pre></td></tr></table></div>

<p> 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.
</li>
<li>Python

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">#!usr/bin/python 
print &quot;Salam Dünya \n&quot;</pre></td></tr></table></div>

</li>
<li>Ruby

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;"> puts &quot;Salam Dünya&quot;</pre></td></tr></table></div>

</li>
<li>Perl

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">#!usr/bin/perl
print &quot;Salam Dünya \n&quot;;</pre></td></tr></table></div>

<p>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(&#8221;Salam Dunya! \n&#8221;); yazsaq kompilyasiya səhvi verəcək. Çünki l böyük olmalıdır, mən balaca yazmışam. Yəni Console.WriteLine(&#8221;Salam Dunya! \n&#8221;);
</li>
<li>Pascal

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">Program SalamDunay;
begin 
Writeln(&quot;Salam Dunya&quot;);
readln;
end.</pre></td></tr></table></div>

<p>Pascalda isə fərqi yoxdur. Böyük hərfin yerinə balaca balacanın yerinə böyük yaza bilərsən.
</li>
<li>PHP

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">echo &quot;Salam, Dünya!&quot;</pre></td></tr></table></div>

</li>
<li>Bash

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">#!/bin/bash
echo &quot;Salam Dunya &quot;</pre></td></tr></table></div>

</li>
<li> DOS

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">echo Salam Dunya</pre></td></tr></table></div>

</li>
<li>Basic

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">PRINT &quot;Salam, Dünya!&quot;</pre></td></tr></table></div>

</li>
</ol>
<p>Və s. <img src='http://alismayilov.blogy.az/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/08/26/muxt%c9%99lif-dill%c9%99rd%c9%99-salam-dunya-proqrami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hansı proqramlaşdırma dilini öyrənməliyəm?</title>
		<link>http://alismayilov.blogy.az/2009/08/26/hansi-proqramlasdirma-dilini-oyr%c9%99nm%c9%99liy%c9%99m/</link>
		<comments>http://alismayilov.blogy.az/2009/08/26/hansi-proqramlasdirma-dilini-oyr%c9%99nm%c9%99liy%c9%99m/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:17:30 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proqramlaşdırma]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=87</guid>
		<description><![CDATA[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ı [...]]]></description>
			<content:encoded><![CDATA[<p>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.<br />
Mənə verilən cavablar müxtəlif olurdu. Riyaziyyatçılar deyirdi ki, proqramlaşdırma dilini bilmək boş şeydir. Əsas riyaziyyatdır.<br />
Bəziləri deyirdi ki, əsas alqoritmin tapmaq lazımdır dili hamı öyrənə bilər.<br />
Bəziləri deyirdi &#8220;flan&#8221; dili öyrən daha çox pul verirlər. O biri deyirdi sən nə danışırsan &#8221; flan&#8221; dili həmişə yaşayacaq.<br />
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?<br />
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.</p>
<p>Ə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.<br />
Proqramlaşdırmanı şərti olaraq iki yerə bölək.</p>
<ul>
<li>
Desktop proqramlaşdırma</li>
<li>
Web proqramlaşdırma</li>
</ul>
<p>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.</p>
<ul>
<li>
Linuxda proqramlaşdırma</li>
<li>
Windowsda proqramlaşdırma</li>
<li>Appleda proqramlaşdırma</li>
</ul>
<p>Qeyd: Indi dillərin çoxu cross platformdur, yəni bütün əməliyyatlar sistemlərində işləyirlər.<br />
Ə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.<br />
Ə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.<br />
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.<br />
Apple isə əsasən <a href="http://developer.apple.com/cocoa/" target="blank">Cocoa</a> frameworkundən istifadə olunur və dil kimi Objective-C istifadə olunur.<br />
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.<br />
Yekun olaraq hansı dili bilmək lazımdır sualına birdə baxaq.</p>
<ol>
<li>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.</li>
<li>PHP dili web səhifələr yaratmaqda sizə yaxından köməklik edəcək.</li>
<li>C# dili windows applicationlar yazmaq üçün əla seçimdir.</li>
<li>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.</li>
<li>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.</li>
<li>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</li>
<li>C++ əgər sistemlə oynamaq istəyirsinizsə, onda C++ bilmək yaxşı olardı. Yuxarıdakı dillərin hamısından çətindir. <img src='http://alismayilov.blogy.az/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>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.</li>
</ol>
<p>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.<br />
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.</p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/08/26/hansi-proqramlasdirma-dilini-oyr%c9%99nm%c9%99liy%c9%99m/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Müasir proqramlaşdırma dilləri &#8211; hansı daha yaxşıdır?</title>
		<link>http://alismayilov.blogy.az/2009/08/26/muasir-proqramlasdirma-dill%c9%99ri-hansi-daha-yaxsidir/</link>
		<comments>http://alismayilov.blogy.az/2009/08/26/muasir-proqramlasdirma-dill%c9%99ri-hansi-daha-yaxsidir/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:03:13 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proqramlaşdırma]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=85</guid>
		<description><![CDATA[Müasir zamanda bir çox proqramlaşdırma dilləri və mühitlər mövcuddur. Bu da öz növbəsində texnologiyanı seçmək barədə qərar verməkdə çətinlik törədir. Bəs hansı texnologiyanı seçmək daha məqsədəuyğundur? Hansı proqramlaşdırma dilini öyrənmək daha vacibdir? Bəlkə də ilk baxışdan əsasən aşağı kurs tələbələri üçün bu sual mübahisəli görünür. Təcrübələr göstərir ki, hal-hazırda müasir proqramçı Pascal, C, C++, Perl, [...]]]></description>
			<content:encoded><![CDATA[<p>Müasir zamanda bir çox proqramlaşdırma dilləri və mühitlər mövcuddur. Bu da öz növbəsində texnologiyanı seçmək barədə qərar verməkdə çətinlik törədir. Bəs hansı texnologiyanı seçmək daha məqsədəuyğundur? Hansı proqramlaşdırma dilini öyrənmək daha vacibdir? Bəlkə də ilk baxışdan əsasən aşağı kurs tələbələri üçün bu sual mübahisəli görünür. Təcrübələr göstərir ki, hal-hazırda müasir proqramçı Pascal, C, C++, Perl, PHP, JavaScript, C# (Si Şarp), Java dillərinin hamısını bilməlidir. Belə bir sual verə bilərsiniz ki, &#8220;Nə üçün bu dillərin hamısını bilməliyik? Axı bu kifayət qədər böyük siyahıdır?&#8221;.<br />
Pascal dili tədris üçün ideal dildir. Əslində Pascal dili məhz bu məqsəd üçün yaradılmışdır. Alqoritmləri öyrənərkən Pascal dilində proqram yazmaqla məsələləri həll etmək çox rahatdır. Alqoritmlərin tərtib olunması qaydalarını, mövcud olan klassik alqoritmləri hər bir proqramçı bilməlidir (yeri gəlmişkən bu sahədə ən yaxşı kitablardan ikisinin adını demək istərdim: D.E.Knuth &#8211; Art of programming və Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest &#8211;  Introduction to Algorithms). Bir çox kitablarda alqoritmlərin realizasiyası psevdo-proqramlarla göstərilir. Psevdo-proqramlar sanki Pascal dilində yazılmış proqramlara bənzəyir.</p>
<p>C proqramlaşdırma dili Unix əməliyyatlar sistemi üçün AT&amp;T Bell Labs. lobarotoriyasında Dennis Ritçi (Dennis Ritchie) tərəfindən yaradılmışdır. Sintaksisinin rahatlığına görə C dili qısa zamanda məşhurlaşmış və proqramçıların ən sevimli dillərindən birinə çevrilmişdir. C dili hal-hazırda ən çox sistem proqramlaşdırması üçün istifadə edilir. Linux əməliyyat sisteminin nüvəsi (kernel) C dilində yazılmışdır. </p>
<p>C++ dili C dilindən sonra Bern Straustrup(Bjarne Stroustrup) tərəfindən yaradılmışdır. C-dən ən başlıca fərqi ondadır ki, C++ obyekt-yönümlü (Object Oriented) proqramlaşdırma dilidir. Bu da müasir proqramlaşdırmada ən vacib anlayışlardandır. Praktiki olaraq C++ dilində həm sistem üçün həm də digər məqsədlər üçün proqramlar yazmaq mümkündür. Bizə çox tanış olan Mozilla FireFox, MS Word, MS Excel, Notepad, Paint və s. proqramların hamısı C++-da yazılmışdır. Lakin C++-da verilənlər bazaları(database) ilə işləyən proqramları yazmaq o qədər də rahat deyil. Məsələ burasındadır ki, verilənlər bazaları ilə işləyən proqramların təyinatı bazada olan verilənlərlə işləməkdir. Bir çox hallarda bu cür proqramlarda sürət faktoru bir o qədər rol oynamır. Çünki sürət daha çox verilənlər bazası idarə etmə sistemlərindən(DBMS &#8211; Database Management System) asılı olur. Utilitlərin yazılmasında ən çox istifadə olunan dil C++ dilidir. </p>
<p>Perl ilk olaraq mətnlərin manipulyasiyası üçün yaradılmışdır. Sonralar Perlin imkanları daha da genişlənmişdir. Hal-hazırda şəbəkə və sistem administratorlarının ən sevimli dillərindən biridir. Perl-dən veb proqramlaşdırmada(daha çox CGİ) da istifadə olunur. Lakin indiki zamanda veb-proqramlaşdırma üçün daha rahat vasitələr vardır. </p>
<p>PHP dünyadakı bir çox veb-proqramçıların sevdiyi dildir. Diqqət yetirsək veb-saytların böyük bir hissəsinin yaradılmasında PHPdən istifadə edilmişdir. PHP öyrənməkdə çox rahat və genişimkanlı dillərdən biridir. Əsas təyinatı veb-proqramlaşdırmada istifadədir. Lakin son zamanlar digər sahələrdə də istifadə olunmağa başlayır. Lakin PHP vasitəsi ilə scriptləri yazarkən bəzi təhlükəsizlik tədbirlərini(SQL İnjection, Remote Code İnclusion, XSS və s.) mütləq nəzərə almaq lazımdır. Bu tədbirləri nəzərə almadıqda həmin skriptləri çox asan üsullarla sındırmaq mümkün olur. PHP 5 versiyası çıxdıqdan sonra PHP obyekt-yönümlü proqramlaşdırma dillərindən birinə çevrildi (əvvəllər OOP-un prinsiplərinə tam əməl olunmurdu).</p>
<p>PHP-də yazılmış proqram serverdə icra olunur və yalnız nəticəsi klientə &#8220;göndərilir&#8221;. Lakin bəzən klient tərəfdə(client side) də proqramlaşdırmadan istifadə etmək məcburiyyətində qalırıq. HTML(HyperText Markup Language) isə adından göründüyü kimi yalnız işarələmə dilidir. HTMLin öz imkanları vasitəsi ilə heç bir əməliyyat aparmaq mümkün deyil. Bu cür hallarda JavaScript bizim köməyimizə çatır. Eyni təyinata malik digər bir texnologiya &#8211; VBScript də mövcuddur. Lakin VBScriptin bəzi imkanları məhduddur. JavaScript vasitəsi ilə HTML Səhifənin DOM modeli üzrə bir çox əməliyyatlar etmək, səhifədə interaktiv elementlər(menyular, düymələrin basılmasında dərhal reaksiyalar və s.) yaratmaq mümkündür. Veb-proqramlaşdırma sahəsində məşğul olanlar üçün AJAX (Asynchronous JavaScript and XML) texnikasını da bilmək vacibdir. Bəzən AJAXı ayrıca bir texnologiya və ya dil kimi qələmə verirlər. Lakin, AJAX JavaScript və XML-dən istifadə etməklə bir vasitədir. </p>
<p>Sadaladığımız bu dillərin təyinatları əsasən ayrı-ayrı olduğuna görə onlar arasında konkurensiya bir o qədər hiss olunmur. Lakin Java və C# arasında böyük bir rəqabət vardır. Bir çox proqramçılar Javaya bəziləri C#-a üstünlük verirlər. Hər ikisininin özünə məxsus üstün cəhətləri vardır. Əslində onlara sadəcə olaraq dil kimi yox bir texnologiya kimi baxmaq lazımdır.</p>
<p>Bu texnologiyalar vasitəsi ilə yaradılmış proqramlar ayrıca işləyə bilmirlər. Bu proqramlar birbaşa olaraq sizin kompüterdə yox virtual maşında işləyir. Bəs virtual maşın nədir? Virtual maşın &#8211; proqram şəklində bir kompüterdir. Həmin virtual maşında işləyən proqramlar virtual maşına normal kompüter kimi müraciət edir və virtual maşın öz növbəsində həmən müraciətlərə kompüter kimi reaksiya göstərir. Bir sözlə kompüteri emulyasiya edir. Nəticə etibarı ilə Javada və C#-da yazılmış proqramları istənilən yerdə, istənilən arxitekturalı kompüterdə, istənilən əməliyyatlar(Operating System) sistemində işə salarkən eyni cür işləyəcək. Yəni proqram kompüterin heç bir fiziki vəziyyətdən asılı olmur. Həmən proqramın işləməsi üçün yalnız və yalnız onun işləyə biləcəyi virtual maşın lazımdır. Java üçün virtual maşın (JRE &#8211; Java Runtime Environment) bir çox əməliyyatlar sistemi və bir çox arxitekturalı kompüterlər üçün mövcuddur. JRE Sun şirkəti tərəfindən yaradılır. C#da yazılmış proqramın işləməsi üçün .NET Framework(dot net Freymvörk) lazımdır. .NET framework Microsoft şirkəti tərəfindən hazırlanır. Hal-hazırda yalnız Windows əməliyyatlar sistemi üçün olan versiyası mövcuddur. Lakin, .NET Framework-un klonu olan MONO Project adlı bir layihə mövcuddur və onun vasitəsilə yazılmış proqramlar bir çox əməliyyatlar sistemində işləyir. </p>
<p>Deməli Java və C#-da proqram yazarkən, platforma haqqında fikirləşmirik və bu işimizi çox asanlaşdırır. Bundan əlavə bu texnologiyalar vasitəsilə bir çox VBİSlərə qoşulmaq üçün modullar mövcuddur. Bu da VBİS-i seçərkən bir çox məhdudiyyətləri aradan qaldırır. Digər üstünlüklərə tiplərin asan çevrilməsi, unicode dəstəyi, şəbəkələrlə iş və s. misal ola bilər. Beləliklə böyük sistemlər yaradarkən bu texnologiyaların tətbiqi daha məqsədəuyğundur. Çünki bu texnologiyalardan istifadə etməklə proqram yazarkən demək olar ki, məsələnin məğzindən başqa digər problemlərin &#8220;qayğı&#8221;sına qalmağa ehtiyac qalmır. Bir çox bank sistemləri, hava limanlarında qeydiyyat və s. sistemlərini yaradarkən proqramlaşdırma texnologiyası kimi bu texnologiyalara üstünlük verilir. </p>
<p>Amma, aydındır ki, bu cür proqramlarda vaxt faktorunu nəzərə almaq çox nisbidir. Əslində bu o qədər də narahatçılığa əsas yaratmır. Məsələn bank sistemində hər hansı bir tranzanskiyanın 1 millisaniyə gec və ya tez yerinə yetirilməsinin bir o qədər də əhəmiyyəti olmur. Lakin, raketlərin idarə olunmasında, atom stansiyalarının idarə olunmasında, tibbi avadanlıqlar üçün yazılmış proqram təminatında 1 millisaniyə gecikmə və ya tələsmə insan həyatına bərabər ola bilər. Onun üçün də bu cür sistemləri heç vaxt Java və ya C# kimi texnologiyaların köməyi ilə yaratmaq olmaz. </p>
<p>Beləliklə biz artıq ən aktual proqramlaşdırma dillərinin təyinatları barədə ilkin məlumatları bildik. Proqram məhsulu yaradarkən həmin məhsulun tələbatlarını nəzərə almaqla bu texnologiyalardan daha səmərəlisini seçmək lazımdır.<br />
Müəllif: Adil Əliyev  </p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/08/26/muasir-proqramlasdirma-dill%c9%99ri-hansi-daha-yaxsidir/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>namespace</title>
		<link>http://alismayilov.blogy.az/2009/08/26/namespace/</link>
		<comments>http://alismayilov.blogy.az/2009/08/26/namespace/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 12:50:13 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=79</guid>
		<description><![CDATA[Bugün qısaca olaraq namespacin nə olduğu haqqında məlumat verməyə çalışacam. Namespace bir abstrakt conteyerdir. Namespace içində sinifləri,interfeysləri, structurları,enumları və s qruplaşdıra (təyin edə) bilərsiz. C# da 2 cür namespace olur. Biri istifadəçi (proqramçı ) tərəfindən təyin olunan namespacedir.Bele namespaci yaratmaq üçün namespace açar sözündən istifadə olunur Məsələn : namespace Myclass .O biri isə .Net framework [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün qısaca olaraq namespacin nə olduğu haqqında məlumat verməyə çalışacam. Namespace bir abstrakt conteyerdir. Namespace içində sinifləri,interfeysləri, structurları,enumları və s qruplaşdıra (təyin edə) bilərsiz. C# da 2 cür namespace olur. Biri istifadəçi (proqramçı ) tərəfindən təyin olunan namespacedir.Bele namespaci yaratmaq üçün namespace açar sözündən istifadə olunur Məsələn : namespace Myclass .O biri isə .Net framework tərəfindən əvvəlcədən təyin olunmuş namespacelerdir. Misal üçün: System, System.XML, System.Threading və s. İki müxtəlif namespace içində eyni adlı sinif ola bilər. Yəni bizim bir namespace myclass var. Onun içində class student var. Bir dənə də namespace university var. Onun içində də class student var. Namespacelər bu iki proqramda istifadə edərkən 2 eyni adlı sinifin bir birinə qarşımağına imkan vermir. Amma bir namespacedə iki eyni adlı sinifin olmağı mümkün deyil.<br />
using namespace; using vasitəsi ilə bizə lazım olan namespace istifadəyə çağırırıq. Və bu vasitəsi ilə biz həmin namespacedə olan siniflərdən (metodlardan) istifadə edəndə qısa kodlar yazırıq. Məsələn: biz using System; yazmasaq onda gərək hərdəfə biz System.Console.Write(); belə yazaq. Əgər using System; yazsaq, onda Console.Write() yazsaq kifayətdir.</p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/08/26/namespace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono 2.4 istifadəyə buraxıldı</title>
		<link>http://alismayilov.blogy.az/2009/08/24/mono-2-4-istifad%c9%99y%c9%99-buraxildi/</link>
		<comments>http://alismayilov.blogy.az/2009/08/24/mono-2-4-istifad%c9%99y%c9%99-buraxildi/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 08:39:44 +0000</pubDate>
		<dc:creator>Ali</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://alismayilov.blogy.az/?p=46</guid>
		<description><![CDATA[Əvvəl qısa olaraq mono proyektin nə olduğun deyək. Mono proqram təminatı platforması olub, cross-platform (bir çox mühitdə işləyən) proqramlar yazmağa imkan verir. Mono .Net Frameworkun açıq kodlu versiyasıdır. C# və Common Language Runtimeın ECMA standartlarına əsasən yaradılıb. Sponsoru Novelldir. Mono 2.4ün saytında:&#8221;Mono 2.4 dünyaya bizim hədiyyəmizidir&#8221;- yazılıb. Doğurdan da belədir. Mononun xüsusiyyətlərinin bir hissəsinə baxsaq, [...]]]></description>
			<content:encoded><![CDATA[<p>Əvvəl qısa olaraq mono proyektin nə olduğun deyək. Mono proqram təminatı platforması olub, cross-platform (bir çox mühitdə işləyən) proqramlar yazmağa imkan verir. Mono .Net Frameworkun açıq kodlu versiyasıdır. C# və Common Language Runtimeın ECMA standartlarına əsasən yaradılıb. Sponsoru Novelldir. Mono 2.4ün saytında:&#8221;Mono 2.4 dünyaya bizim hədiyyəmizidir&#8221;- yazılıb. Doğurdan da belədir. Mononun xüsusiyyətlərinin bir hissəsinə baxsaq, görərik ki, bu belədir.<br />
Çoxlu-platformada işləmə imkanı. Linux, BSD, Microsoft Windows,OS X<br />
Çoxlu dildə yazmaq imkanı. C# 3.0, F#, Python, Java və s<br />
Asp.Net, ADO.Net və Windows Forms 2.0 applicationlar Linuxda yenidən kompilyasiya edilmədən işləyir.<br />
Ən əsası, pulsuzdur. Kodu açıqdır (open sourcedur)<br />
və s<br />
Eyni zamanda MonoDevelop 2.0 istifadəyə buraxıldı (30 Mart). <a href="http://monodevelop.com/" target="blank">MonoDevelop 2.0 </a> isə, əsasən C# və .Net dilləri üçün yaradılmış İDEdir. MonoDevelop developerlərə imkan verir ki, Linuxda desktop və Asp.Net veb applicationlar yazsınlar.</p>
]]></content:encoded>
			<wfw:commentRss>http://alismayilov.blogy.az/2009/08/24/mono-2-4-istifad%c9%99y%c9%99-buraxildi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!--Google analytics--->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11492332-1");
pageTracker._trackPageview();
} catch(err) {}</script>