بایگانی دسته: برنامه نویسی

شروع ساخت یک زبان برنامه نویسی ساده

گرچه قبلا سعی کردم چنین کاری کنم و حتی نسخه قدیمی WENT رو هم نوشتم، ولی کار بهینه نبود، و تصمیم گرفتم همون WENT رو بازنویسی کنم. پس تصمیم گرفتم کمی بیشتر در اعماق روبی سفر کنم و با کشفیات جدید، دوباره زبانم رو بنویسم. توی این مطلب خیلی بحث رو کش نمیدم، فقط یکم در مورد این که زبان اون پشت چی کار میکنه توضیح میدم و بعد یک تکه کد ساده میزنم.

هر زبانی، اون پشت توی مفسر یا کامپایلر، بخشی داره که هرچی که بهش دادیم رو میخونه. اصولا این بخش Parser نامیده میشه و هرچی توی یک خط برنامه هست رو میخونه، به یک تابع میفرسته و بعد عملیات رو روش انجام میده. برای مثال عبارت ۲ + ۲ رو در نظر بگیرید، این عبارت از ۳ کاراکتر تشکیل شده، ۲ و ۲ و +. این رو که به مفسر بدید، میفهمه که باید ۲ و ۲ با هم جمع شن و جواب بشه ۴ (یا شایدم ۵ 😀 ). ولی این کار چطوری توی مفسر اتفاق میفته؟ کد زیر توی روبی بهتون میگه :

کد   
a = "2 + 2"
a = a.split(' ')
sum = 0
for i in a
  sum += i.to_i
end
 
puts sum

توجه کنید که این کد بسیار کوتاه شده و اصولا منطق زبان درش رعایت نشده. ولی خب برای توضیح، کار راه اندازه. در خط اول، رشته ۲+۲ رو توی متغیر a ریختیم و بعدش توی یک آرایه قرارشون دادیم. دقت کنید که اینجا فاصله بسیار اهمیت داره ! چرا که جداسازی درون آرایه کاملا به فواصل وابستس. بعد از اون، اومدم یه متغیر ایجاد کردم به اسم sum و مقدارش رو صفر قرار دادم. بعد توی یک حلقه، تمام اعضای آرایه رو به عدد صحیح تبدیل کردم و بعد ریختم توی sum . به این شکل، عملیات جمع رو به زبان برنامه سازی فهموندیم. حالا برای بهتر شدن زبان، باید کلاس و تابع و … بنویسیم. وقتی نسخه جدید WENT رو نوشتم سعی میکنم اینجا در موردش یک مطلب کوتاه بنویسم.

موفق باشید 🙂

Share

به برنامه نویس ها اعتماد کنید!

پس از مدت نسبتا طولانی، قصد کردم تا دوباره مطلبی در وبلاگ بنویسم و این بار سعی کردم کمی ته مایه طنز هم داشته باشه. همونطور که میدونید، برنامه نویسی یک شغل (و گاهی یک تفریح) بسیار عالی به حساب میاد، چه از نظر درآمد، چه از نظر نوع کار! حالا توی این پست در مورد قابل اعتماد بودن قشر برنامه نویس بحث میکنیم 🙂

11336813_10153358102309433_4448978108491518217_o

برنامه نویس ها قابل اعتمادند، چون بدون آنها کامپیوتر شما کار نمی کند!

یک لحظه فکر کنید برنامه نویسی در دنیا نبود، آیا اون موقع کامپیوتر شما قادر بود کاری کنه؟ یا اصلا کامپیوتری ساخته می شد؟ و این اولین دلیلی هست که برنامه نویس رو به یک شخص قابل اعتماد تبدیل میکنه. همچنین، برنامه نویس ها بودند که سیستم عامل ها رو ساختند، و کامپیوتر بدون سیستم عامل مثل ماشین بدون موتور می مونه!

… چون کار شما رو ساده تر میکنند

این هم دلیل دوم، شما ممکنه یه مساله ریاضی رو بخواید در مدت زمان کوتاه حل کنید، بهترین کار استفاده از کامپیوتر و نرم افزاری مثل متلب و … هست، متلب هم یک نرم افزار هست و توسط یک سری برنامه نویس ساخته شده! یا مثلا میخواید یک نامه بنویسید، قاعدتا سراغ مایکروسافت آفیس یا لیبرآفیس میرید، که اونها هم توسط برنامه نویس ها ساخته شدند.

… برای شما سرگرمی میسازند

همه ما بدون شک یکی دو تا بازی روی کامپیوترمون داریم، بازی ها هم توسط برنامه نویس ساخته میشن. یه بخش بزرگی از بازی ها که مربوط به هوش مصنوعی و منطق میشه، توسط برنامه نویس ها نوشته میشه و شما وقتی بازی میکنید درواقع دارید دستوراتی که برنامه نویس به بازی داده رو اجرا میکنید.

… برای شما کار میکنند!

و آخرین مورد همینه، برنامه نویس برای کسی کار نمیکنه جز کاربر! پس این هم نشون میده کسی که همه فکر و ذکرش راحتی شماست، یک انسان کاملا قابل اعتماده.

در این مطلب، سعی کردم تا حدود زیادی شما رو با برنامه نویس ها آشتی ( 😀 ) بدم، و البته باز هم از این دست مطالب در وبلاگ خواهم گذاشت.

موفق باشید.

Share

مقدمه ای بر شی گرایی در ++C

پس از مدتها دوباره تصمبم گرفتم دست به نوشتن در این وبلاگ ببرم، و گفتم چه بهتر که مطالب آموزشی و مفید بنویسم. الان مدتیه خودم هم با شی گرایی درگیرم، و گفتم چه بهتر که در مورد شی گرایی در ++C بنویسم. اول از همه، بگم که ++C واقعا زبان خوبیه و بهتره اگر میخواید شی گرایی رو از پایه یاد بگیرید، وارد این زبان بشید و بعدش سراغ جاوا یا هر زبان دیگری برید.

خب، در این مطلب صرفا ساخت کلاس و ایجاد یک شیء توسط کلاس رو بررسی خواهم کرد. باقی مفاهیم شیء گرایی رو هم خرد خرد در ادامه، در وبلاگ قرار خواهم داد.

ساخت کلاس

ساخت کلاس، به غایت ساده است. در واقع ساخت یک کلاس جدید به این شکل صورت میگیره :

کد   
class CLASSNAME {
 	....
 };

درون بدنه کلاس، میتونیم متغیرهای مربوط به کلاس، و متدها رو تعریف کنیم. که اونها هم سه نوع public و private و protected دارن. نوع public نوعیه که همه بهش دسترسی دارن. نوع private نوعی هست که فقط خود کلاس (و دوستانش! که بعدا مفهومشون رو توضیح خواهم داد) بهش دسترسی داره و نوع protected هم نوعیه که فقط و فقط خود کلاسمون بهشون دسترسی داره. هرچیزی که توی کلاس تعریف کنیم، پیشفرض private در نظر گرفته میشه. و خودمون میتونیم مشخص کنیم که private یا public یا protected باشن.

خب، فرض کنید الان میخوایم کلاسی بسازیم به اسم student و نیازه که اسم، فامیل و شمار دانشجویی واردش بشه. خیلی ساده کدش رو مینویسیم :

کد   
class Student {
	public:
	int number;
	string name;
	string lastname;
};

این کلاس، یک کلاس کامل به شمار میره. تنها چیزی که الان نیاز داریم، یک متد هست که این اطلاعات رو چاپ کنه! پس باید یک تابع درون کلاسمون تعریف کنیم تا این کار رو برامون انجام بده!

یعنی کلاس ما و متدش به این شکل تعریف میشن :

کد   
class Student {
	public:
	int number;
	string name;
	string lastname;
	void PrintInfo();
};
 
void Student::PrintInfo() {
	cout<<"Name: "<<student.name<<endl;
	cout<<"Last name: "<<student.lastname<<endl;
	cout<<"Number: "<<student.number<<endl;
}

گرچه میتوانیم متد را، درون خود کلاس هم تعریف کنیم. اما ترجیح با این است که متد بیرون از کلاس تعریف گردد. اکنون که یک کلاس کامل ساختیم، چطور است یک شیء نیز بسازیم و برنامه خود را تست کنیم؟

ساخت یک شیء

یادتان نرود که با تعریف کلاس ها، در واقع یک variable type جدید ساختید. پس تعریف یک شیء بسیار آسان است! چرا که صرفا کافیست اسم کلاس + اسم متغیر را نوشته و بعد برنامه را اجرا کنیم!

برنامه ما به این شکل در میاد آخر سر :

کد   
#include <iostream>
#include <string.h>
using namespace std;
class Student {
public:
int number;
string name;
string lastname;
void PrintInfo(void);
};
void Student::PrintInfo(void) {
cout<<"Name: "<<name<<endl;
cout<<"Last name: "<<lastname<<endl;
cout<<"Number: "<<number<<endl;
}
int main(){
Student s1;
s1.name = "Muhammadreza";
s1.lastname = "Haghiri";
s1.number = 12;
s1.PrintInfo();
return 0;
}

 

همونطور که می بینید، شیء s1 بلافاصله بعد از کلاس مربوطه، تولید شده. و بعد هم ویژگی های مربوطه اضافه شدند و بعدش هم متد مربوطه رو فراخوانی کردیم.

به همین سادگی!

تا آموزش بعدی، بدرود!

Share

لقمه را دور سر نچرخانیم – برعکس کردن یک رشته در سی شارپ

با سلام و عرض ادب خدمت خوانندگان وبلاگ. در این پست قصد دارم یکم سی شارپ رو بررسی کنم. سی شارپ، یکی از دلایل محبوب شدنش، اینه که سینتکس نسبتا ساده ای داره، ولی همین رو هم میشه پیچوند 🙂 .

مثلا این سوال رو در نظر بگیرید :

برنامه ای بنویسید که یک رشته کاراکتری از ورودی دریافت کرده و سپس آن را برعکس در خروجی قرار دهد. 

اگر فقط بخواهیم از System استفاده کنیم و یک تابع ساده بنویسیم، کد ما میشه این :

کد   
using System;
 
namespace ReverseName
{
	class MainClass
	{
		public static void NameReverse(string name){
			for (int i = name.Length; i > 0; i--){
				Console.Write(name.Substring(i-1, 1));
			}
		}
		public static void Main (string[] args)
		{
			//Challenge Accepted!
			Console.Write ("Enter a name: ");
			string n = Console.ReadLine ();
			NameReverse (n);
		}
	}
}

(اون Challenge Accepted داستانی داره که بعدا تعریف خواهم کرد 😀 ).

خب با یکم بررسی می بینید که این کد، خروجی به صورت رشته ای نداره (دستور Console.Write) و نمیشه ازش جاهایی که لازمه، استفاده کنیم. پس بهتره به جای System از System.Linq استفاده کنیم و کد رو خلاصه کنیم :

کد   
using System;
using System.Linq; 
namespace ForEach
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Console.Write ("Enter your name: "); 
			string name = Console.ReadLine (); 
			foreach (char c in name.Reverse()) {
				Console.Write (c);
			}
 
		}
	}
}

و اگر دقت کنید به جای اون for ، از foreach استفاده کردم که بسیار کار رو راحت تر کرده.

امیدوارم هر وقت خواستید کد بزنید، به این شکل و به خلاصه ترین شکل ممکن کدتون رو بنویسید.

موفق باشید 🙂

Share

یک فنجان قهوه با طعم جاوا اسکریپت و روبی لطفا!

در این پست، قصد دارم تا در مورد کافی اسکریپت بنویسم. کافی اسکریپت، یک پیاده سازی از جاوااسکریپت در روبی است. در واقع، شما کدتون رو در یک سینتکس بسیار نزدیک به روبی مینویسید، و با اجرای یک دستور، کدی که دریافت میکنید، جاوااسکریپت خواهد بود. یکی از بزرگترین مزایای کافی‌اسکریپت، اینه که این زبان، بر خلاف جاوااسکریپت سینتکس پیچیده ای نداره، چرا که سینتکس مشابه روبی هست و فقط بعضی جاها، تفاوت های اندکی داره. بهرحال، در عصری زندگی میکنیم که زندگی بدون زبانهایی همچون جاوااسکریپت سخته، ولی اگر حال و حوصله جاوااسکریپت ندارید، بهتون توصیه میکنم همین کافی اسکریپت رو یاد بگیرید. در اینجا چند قطعه کدش رو آوردم :

سلام دنیا

قطعا این کد، ساده ترین و اولین کدی هست که در هر زبان برنامه نویسی ای، یاد میگیریم. این کد در کافی اسکریپت به این شکل هست :

کد   
alert "Hello, World!"

این کد، یک پنجره پیام باز میکنه و پیام Hello World رو به کاربر نشون میده. بعد از اجرای دستور :

coffee --compile ./path/to/coffee/file

کد رو به این تبدیل میکنه :

کد   
alert("Hello, World!");

حالا قطعه کد پیچیده تری رو بررسی میکنیم.

تابع فاکتوریل

این تابع، یک تابع بازگشتی هست که عمدتا در آموزش همه زبان های برنامه نویسی، ازش استفاده میکنیم. این تابع در کافی اسکریپت به این شکل هست :

کد   
a = (x) -> 
    if(x == 0)
       return 1
    else
       return x * a(x-1)

و این کد، همین تابع در جاوااسکریپت :

کد   
var a;
 
a = function(x) {
  if (x === 0) {
    return 1;
  } else {
    return x * a(x - 1);
  }
};

اجرای دو کد، با یک عدد خاص (مثلا ۴) ، یک نتیجه رو به ما بر میگردونه، چرا که کافی صرفا یک رابط نوشته شده با روبی برای جاوااسکریپت به حساب میاد.

در این پست، سعی کردم خیلی خلاصه و مختصر و مفید، در مورد زبان کافی اسکریپت توضیح بدم. امیدوارم وقت و مشغله این اجازه رو بهم بده که بعدا بیشتر در موردش (چه در خود وبلاگ، چه در پایگاه توسعه دهندگان روبی) بنویسم.

موفق و پیروز باشید.

Share

تاسیس وبگاه توسعه دهندگان روبی

198px-Ruby_logo.svg

با سلام و تبریک سال ۱۳۹۴ خدمت تک تک دوستانی که وبلاگ رو میخونن. بعنوان اولین پست در سال ۱۳۹۴، قصد دارم تا «پایگاه توسعه دهندگان روبی» رو معرفی کنم. این پایگاه رو در ایام تعطیلات نوروز ایجاد کردم و قراره که مطالبی در این پایگاه قرار داده شه که قبل تر در وب فارسی نبوده، یا اگر هم مثل و مانندی داره، این طرف ما متمرکز تر و تخصصی تر مطلب رو پیگیری کنیم. بهرحال، هدف سایت، تامین منابع آموزشی فارسی برای زبان روبی و متعلقات (ریلز و …) و همچنین گردآوری علاقمندان و متخصصان روبی دور هم است.

برای دسترسی به سایت، از این لینک استفاده کنید.

موفق باشید 🙂

Share

راه اندازی یک وب سرور ساده با استفاده از روبی

پس از مدت نسبتا طولانی، اقدام به نوشتن یک پست تازه کردم. در این پست، میخوام ساخت یک وب سرور ساده در روبی رو توضیح بدم. اول بگم که اگر پایتون کارید، قطعا با این دستور آشنایید :

کد   
python -m SimpleHTTPServer 8000

این دستور، فولدری که درونش هستید رو به یک روت برای وب سرور تبدیل میکنه. و میتونید توی اون فولدر، فایل هاتون رو قرار بدید و اون چیزی که لازمه رو، تست کنید. خب، روبی چنین ماژولی نداره و ما باید شبیه سازیش کنیم. البته شبیه سازی کردن این ماژول کار دو سوته 😀 .

فرمورک ریلز، از جم rack برای درست کردن وب سرور استفاده میکنه. اگر rails رو نصب دارید، قطعا این جم هم نصب شده. اگر نصب نداریدش و میخواید فقط از رک استفاده کنید، با دستور زیر میتونید نصبش کنید :

کد   
sudo gem install rack

خب حالا که نصب شده، چنین کدی رو نیاز داریم که بنویسیم :

کد   
#!/usr/bin/env rackup
#\ -E deployment
 
use Rack::ContentLength
 
app = Rack::Directory.new Dir.pwd
run app

و بعد به اسم webserver.ru ذخیره میکنیم و با دستور زیر اجراش میکنیم :

کد   
rackup ./webserver.ru -p 8585

که در اینجا سوییچ p و عدد مقابلش، دارن پورت رو مشخص میکنند. همچنین، میتونید به فایل webserver.ru پرمیشن اجرایی بدید و بدون نیاز به rackup اجراش کنید.

موفق باشید.

Share

انتشار کتاب روبی

مدتی بود که داشتم در این تاپیک در فروم اوبونتو برای آموزش زبان روبی رو مینوشتم. این زبان، زبانی بود که مدت نسبتا زیادی بهش علاقه داشتم و خب شکر خدا یادش هم گرفتم. حالا، کتاب کارش تمام شده. کتاب حدود ۵۴ صفحه داره و در قالب یک PDF نوشته شده. تا حد امکان سعی کردم ساده توضیح بدم که تازه کارها هم بتونن به خوبی این زبان رو یاد بگیرن.
سر فصل های کتاب :

  • مقدمه
  • پایه ها و مقدمات روبی
  • انواع داده ها و متغیرها، ثابت ها و عملگرها
  • آرایه ها و هش ها
  • ساختارهای کنترلی
  • حلقه های تکرار
  • توابع
  • کلاس ها و شی گرایی

کتاب هم از این نشانی در دسترس هست.

Share

انقلاب جاوااسکریپت

بدون شک، همه شما با سه زبانی که یک توسعه دهنده وب باید بلد باشد آشنا هستید. حتی اگر با ترکیب و نحو این زبان ها آشنا نباشید، نام آنها برایتان آشناست. زبانهای HTML, CSS و Javascript . در ابتدا لازمه که ذکر کنم، اچ تی ام ال و سی اس اس زبان «برنامه نویسی» نیستند. HTML تنها یک زبان Mark up هست و CSS هم یک زبان Style Sheet یا شیوه نامه به حساب میاد. در واقع، کسی که CSS مینویسه، داره برای تگ های HTML خواصی رو در نظر میگیره و پیاده سازی میکنه. مثلا همین وبلاگ و فونتی که لود میکنه، درون CSS اش نوشته شده. اما جاوااسکریپت، جاوااسکریپت یک زبان برنامه نویسی است که هم Client Side (سمت کاربر) و هم Server Side (سمت کارگزار) میشه ازش استفاده کرد. این زبان هم، از جمله زبان هایی بود که به شدت در مقابلش مقاومت میکردم، اما این زبان از اون دسته زبانهایی به شمار میاد که تا درگیرش نشید، چیزی ازش یاد نمیگیرید. خب در این مطلب، چندین قطعه کد از این زبان قرار میدم و روش استفاده ازش درون فایل HTML رو هم توضیح میدم. برای آشنایی بهتر با جاوااسکریپت میتونید ارائه توحید ارسطو در تهران لاگ رو بخونید (اون هم به همین نام انقلاب جاوااسکریپت بود 😀 )

سینتکس زبان

این زبان، یک سینتکس ساده داره و میشه گفت اگر با زبانهای شبه C (مثل جاوا، سی شارپ و … ) کار کرده باشید، به سادگی میتونید به جاوااسکریپت هم مهاجرت کنید و درونش کد بزنید. برنامه زیر، یک Hello World ساده در این زبان هست :

document.write("Hello, World");

یا میتونید به این شکل هم برنامه فوق رو بنویسید :

var string = "Hello, World";

document.write(string);

همونطور که دیدید، این زبان خیلی سادست و یادگیریش میتونه در چند ساعت و با پیاده سازی مثال، صورت بگیره (مثلا کد آکادمی از شما میخواد یک بازی سنگ، کاغذ، قیچی بنویسید و … ). همچنین میتونید پنجره های Pop-up هم با جاوااسکریپت ایجاد کنید :

alert(string);

و قابلیت های دیگری که درون این زبان نهفته شده.
برنامه زیر، یک برنامه سادست که چک میکنه سن شما در چه رنجی هست، قانونی یا خیر :

var age = prompt("How old are you?");

if (age > 0 && age <= 120) {
   if (age < 18){
      document.write("You're not at legal age");
    } else {
       document. write("You're at legal age");
     }
 } else {
   document.write("The age you have entered, is invalid");
}

این برنامه دو ساختار کنترلی رو درون خودش جای داده، و یکی چک میکنه عدد وارد شده بزرگتر از صفر، و کوچک تر مساوی ۱۲۰ باشه. یعنی اگر کسی توی prompt تولید شده توسط این برنامه، سن خودش رو منفی وارد کنه و یا بالاتر از ۱۲۰ سال وارد کنه، با ارور مواجه میشه. ولی اگر سن بین ۰ تا ۱۲۰ باشه، چک میکنه که اگر کوچکتر از ۱۸ بود بگه «شما در سن قانونی نیستید» و اگر نبود، پیغام بده «شما در سن قانونی هستید».
همونطور که دیدید، این زبان سینتکس خیلی خوبی داره و در مورد حلقه ها و ... هم به همین منوال هرچی که در زبانی مثل جاوا بلدید، این جا هم به کارتون میاد .

استفاده در HTML

برای استفاده از جاوااسکریپت در یک وب پیج دو راه داریم :

راه اول : اسکریپت نوشته شده رو درون یک فایل js ذخیره کنیم و بدین شکل صداش کنیم :

Screenshot from 2015-03-01 12:10:19

و راه دوم نوشتن اسکریپت درون تگ script هست .

و به این شکل میتونید از برنامه نویسی به زبان جاوااسکریپت، لذت ببرید.

بعد از یادگیری چه کنیم؟

بعد از یادگیری میتونید فرمورک هایی که برای جاوااسکریپت موجودند رو تست کنید و ببینید توی چه زمینه ای میخواید فعالیت کنید. مثلا، Cordova یا PhoneGap برای موبایل، QtQuick برای کیوت نوشتن و ... .

موفق باشید.

Share

ملاقات با سی شارپ

قبل تر، خیلی خیلی در مقابل یادگیری سی شارپ، مقاومت میکردم. یکی از مشکلاتی که اکثر کتابهای سی شارپ موجود داشتند، این بود که برنامه نویسی رو با نقاشی اشتباه گرفته بودند . در واقع، این که بیایم در یک کتابی که مدعی حرفه ای بودن سطح آموزش هست، از اینکه چطور یک Button رو در محیط گرافیکی به کمک ماوس بکشیم، حرف بزنیم، نشون میده میخوایم یک حیطه خیلی خاص رو به کاربر یاد بدیم. عمده این کتابها هم طوری هستن که کاربر خیلی خیلی زود، ازش دلزده میشه (یکیش خودم 🙂 ). خب اولین باری که تلاش کردم سی شارپ رو یاد بگیرم اول دبیرستان بودم. دقیقا ۴ سال پیش همین موقع ها! و خب کتابی که تهیه کردم همونطور بود و با نوشتن دو سه تا برنامه ساده چقدر ذوق زده شدم و فلان و بهمان. از این حرف ها بگذریم، الان که ترم دوم دانشگاه هستم، توفیق اجباری شده تا در سی شارپ رو یاد بگیرم (لفظ توفیق به کار برده شد تا بگم که یادگیری همیشه خوبه، حتی اگر چیزی که داری یاد میگیری، بی کاربرد یا حتی مزخرف باشه) و خب با سینتکس سی شارپ آشنا شدم. امروز تصمیم گرفتم چندین خط کد بزنم. پس بیاید در این کد زدن ها با من همسفر بشید.

سی شارپ در لینوکس

زیاد روده درازی نمی کنم، قصد اسکرین شات گذاشتنم ندارم (:D) ، ولی خب برای استفاده از این زبان در لینوکس کد زیر رو اجرا کنید :

sudo apt-get install monodevelop

بعد از نصب میتونید monodevelop رو اجرا کنید و از کد زدن با سی شارپ لذت ببرید 🙂

اولین برنامه من

در اولین برنامه سعی کردم به چاپ یک رشته احمقانه (مثل Hello World و …) بسنده نکنم. هر کانسپتی از C و ++C داشتم رو پیاده کردم. توی این کد هم کلاس ایجاد کردم، هم تابع نوشتم، هم از کاربر ورودی گرفتم، هم از حلقه تکرار استفاده کردم و … ! در واقع هرچه میدانستم پیاده کردم بدون هیچ مشکلی هم کار کرد (البته ناگفته نماند که خیلی جاهاش رو هم کمک گرفتم!) . این کد من بعد از یکی دو ساعت کار با سی شارپ :

using System;

namespace HelloWorld
{
	class Test
	{
		public static int Method(int a){
			return a;
		}
	}

	class MainClass
	{
		public static void Message(){
			Console.WriteLine ("Welcome to My Program!");
		}
		public static int SimpleFunction(int a){
			return a;
		}
		public static void Main (string[] args)
		{
			Message (); 
			Console.Write ("Enter a value: ");
			int j = Convert.ToInt32 (Console.ReadLine ());
			int i;
			for (i = 0; i<= j; i++) {
				Console.WriteLine (i);
			}
			Console.WriteLine (Test.Method(i));
		}
	}
}

جمع بندی و نکات حائز اهمیت

اگر زبانهایی مثل C یا ++C رو بلدید، دنبال سی شارپ هم بیاید، ضرر نمی کنید. فقط یک زبان C-like که تا حد زیادی با جاوا ترکیب شده رو تجربه میکنید. تجربه سی شارپ با مونو هم تجربه جالبیه! اما خب حس قشنگی نیست که فایل exe روی لینوکس اجرا بشه (مثل شتر سواری روی سطح اقیانوس میمونه یه جورایی!) ، ولی خب یادگیری هیچوقت بد نیست. بخصوص اگر مجبور باشید و درسی مثل برنامه سازی پیشرفتتون، در گرو این زبان باشه ((((: .

Share